silverlight
发布时间:2022-05-04 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了修复WPF Silverlight ListBox控件的一个Bug,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
概述
先来看这样演示程序。在修复前,选择重复的数字会导致选中状态混乱,出现多个数字莫名其妙被选中的状况。 刨根问题,此问题最终定位到如下代码(WPF 项目,Silverlight项目类似): 01 /* 02 internal bool
SELEct(ob
ject o, bool assumeInItemsCollection
); 03 04 Declaring Type: Syst
先来看这样演示程序。在修复前,选择重复的数字会导致选中状态混乱,出现多个数字莫名其妙被选中的状况。
刨根问题,此问题最终定位到如下代码(WPF 项目,Silverlight项目类似):
10@H_801_39@ |
if@H_801_39@ (!assumeInItemsCollection && !@H_801_39@this@H_801_39@._owner.Items.Contains(o)) @H_801_39@
|
由于使用的是Items.Contains(o)判断,所以会导致值类型的重复数据判断出错。当然修复此问题的思想就是把值类型转换为引用类型。
创建如下代码
01@H_801_39@ |
public@H_801_39@ class@H_801_39@ WrapObject<T> @H_801_39@
|
05@H_801_39@ |
public@H_801_39@ WrapObject(T o) @H_801_39@
|
07@H_801_39@ |
_obj = o; @H_801_39@ |
10@H_801_39@ |
public@H_801_39@ static@H_801_39@ implicit@H_801_39@ operator@H_801_39@ WrapObject<T>(T o) @H_801_39@
|
15@H_801_39@ |
public@H_801_39@ static@H_801_39@ explicit@H_801_39@ operator@H_801_39@ T(WrapObject<T> o) @H_801_39@
|
20@H_801_39@ |
public@H_801_39@ T UnWrap() @H_801_39@
|
绑定方法修改为
此问题到此解决
本文来自Aimeast的博客,原文地址:http://www.cnblogs.com/Aimeast/archive/2011/05/11/2043281.html
大佬总结
以上是大佬教程为你收集整理的修复WPF Silverlight ListBox控件的一个Bug全部内容,希望文章能够帮你解决修复WPF Silverlight ListBox控件的一个Bug所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。