Silverlight中DataGrid翻页或者滚动时CheckBox/RadioButton显示的问题

手把手教你在Keil/IAR中移植SEGGER_RTT组件(避坑指南+性能对比) 本文详细介绍了在Keil/IAR开发环境中移植SEGGER RTT调试组件的完整流程与优化技巧。通过对比传统串口调试,SEGGER RTT凭借零硬件占用、高速传输和双向交互等优势,显著提升嵌入式开发效率。文章包含配置步骤、性能调优方案及常见问题解决方案,是嵌入式开发者必备的实用指南。 阅读详情

问题现象

Datagrid是silverlight中很常用的控件,经常被用来显示数据,当数据的个数较多时,我们可以使用滚动条或者分页的方式来显示。但是,如果DataGrid中使用了CheckBox或者RadioButton时,会出现如下图所示的问题:

开始的界面:

当我在第一页选中了第一行的radiobutton时:

如果此时我翻到下一页,在没有点击的情况下,第二页中的第一行的RadioButton仍然是被选中了的:


这样的选中方式比较难接受。


问题原因

当翻到下一页时,Datagrid重用了这些RadioButton,所以,还是按照第一页的方式显示了。

解决办法

可以使用partial class在对应的数据项中添加一个属性IsSelected:

    public partial class Book
    {
        private Boolean _isSelected;

        public Boolean IsSelected
        {
            get
            {
                if (_isSelected == null) _isSelected = false;
                return _isSelected;
            }
            set { _isSelected = value; }
        }
    }

然后在xaml中Binding这个IsSelected:

   <RadioButton IsChecked="{Binding IsSelected, Mode=TwoWay}"></RadioButton>

最终效果

选择第一页中的第一行


翻页就不再显示RadioButton被选中了


具体代码:https://github.com/kiwiwin/silverlight-demo.git 中datagrid-radiobutton-demo

github仓库位置:silverlight-demo

参考资料:

http://stackoverflow.com/questions/12960837/checkbox-in-silverlight-datagrid-behaving-strangely

http://social.msdn.microsoft.com/Forums/en-US/silverlightbugs/thread/06b36cb1-a97c-46c6-872c-ae00e2102877/#501008

【生信分析】clusterProfiler: universal enrichment tool for functional and comparative study(1) clusterProfiler: universal enrichment tool for functional and comparative studyClusterProfiler: 用于功能和比较研究的通用富集工具总览1. 引言1.1 术语1.1.1 基因集和通路1.1.2 基因同源(GO)1.1.3 京都基因与基因组百科全书(KEGG)1.1.4 其他基因集2. 功能富集分析方法2.1 过度表征分析(Over Representation Analysis)2.2 基因集富集分析(Gene Se 阅读详情

相关推荐

华为数通---配置风暴控制案例

风暴控制可以通过阻塞报文或关闭端口来阻断广播、未知组播和未知单播报文的流量。

2301_77081516的博客 1624

[Silverlight]简单实现DataGrid使用CheckBox选择行

以前写过几个方法实现这个功能,但最终还是选择了不继承DataGrid,所以再重新发布出来。 先显示最终结果,其中左边是错误的例子,右边才是正确的 在DataGrid中使用CheckBox选择行时典型的错误就是CheckBox没有Binding到任何属性上,这样的话当拖动滚动条时CheckBox.IsChecked就会乱掉,如Demo中左边那个DataGrid所示。最...

weixin_30685047的博客 141

ChatIE:基于ChatGPT的零样本信息抽取实战指南

信息抽取是自然语言处理中的核心任务,旨在从非结构化文本中自动识别并结构化关键信息,如实体、关系及事件。传统方法依赖大量标注数据训练专用模型,流程复杂且成本高昂。随着大语言模型的发展,通过提示工程引导模型理解任务,实现了无需训练数据的零样本抽取能力,极大降低了技术门槛与应用成本。这种范式将信息抽取重构为多轮对话问题,通过分阶段提问引导模型逐步输出结构化结果,在快速原型验证、领域适配及小规模数据探索中展现出显著技术价值。本文以ChatIE项目为例,深入解析如何利用ChatGPT API,通过精心设计的提示词与两

weixin_30540691的博客 404

Silverlight datagrid 全选的另一种实现方法

1.在DataGrid列头全选checkbox2.添加Loaded事件 在添加前声明一个全局变量:        CheckBox IsCheckAll = null; 在Loaded事件

莫逍遥的专栏 2869

40分钟快速入门Dart基础(上)

针对final 和const 理解的有点模糊的可以参考这篇文章: 可以参考这里Flutter 知识梳理(Dart)-Dart中static final const 区别看是不是超级好上手,好操作~其实Dart的整个学习起来还是蛮简单的,对于有基础的老司机更简单一些。分分钟敲起来~这篇文章就简单的介绍到这里如何短时间快速入门Dart,避免入坑。由于是想让大家快速入门Flutter,所以针对上面的这些章节我们讲解的只是一些在开发Flutter 过程中常用的一些方法和函数。

qq_7813180 4570

支付宝H5支付唤醒协议全解析:从alipays://到动态orderSuffix的抓取与拼接

本文深入解析支付宝H5支付唤醒协议,从alipays://协议设计到动态orderSuffix参数的抓取与拼接,详细介绍了支付宝H5支付的底层机制。内容包括协议架构剖析、动态令牌生成与捕获、浏览器兼容性解决方案以及安全机制设计,为开发者提供全面的技术指南和实践建议。

weixin_27972919的博客 3485

wpf DataGrid中的RadioButton

有一个需求,我们有很多条目,需要选择一个条目作为当前条目,这就需要用到单选,就需要在DataGrid中使用RadioButton, 我的数据中有一个字段为is_current, 为bool值,在RadioButton中,有一个IsChecked绑定是否选择,所以可以直接绑定is_current <DataGridTemplateColumn> ...

征途人生&梦 2091

Podman修改镜像源教程(附最新docker镜像源)

Podman修改镜像源教程(附最新docker镜像源)

道长的博客 4140

Silverlight嵌入Html并调用该Html中的Javascript

本文将分两步进行说明,第一步说明如何在silverlight的xaml脚本中加入html。第二步说如何在silverlight中调用html中的javascript函数。说明:vs2010 ultimate + silverlight5 本文中所有代码都可以在github中查看,git版本中采用了master-dev的方式。在master中可以查看每一个demo的最后完成,在dev中可以查看每一

kiwi_coder 5528

IEEE Access 上岸指南,附含泪整理的 cover letter 、沟通邮件、终版文档等资料包

终于上岸了! 我是一个小硕,本科期间发表过两篇水文,奈何学校有更高的毕业要求,只能硬着头皮尝试一下 SCI。 想投 IEEE Access 的朋友都应该知道 小木虫论坛 对这个期刊的讨论,褒贬不一,有的人说是大水刊,有的人说有难度。 比如: @wow_: 不可否认,灌水期刊。只要之前中过一篇,再投基本没有不录用的!我们实验室其他老师说过一区除外的收费期刊都应该禁止灌水。 @pssp: 审稿人还...

kurryluo的博客 1万+

OpenCV实战之人脸美颜美型(八)——大眼(上)

从大众审美的角度来看,眼睛适当的“变大”会让人显得更加年轻。因此美型中就有一项大眼功能,其效果就是让眼睛适当变大,这章内容就围绕着大眼算法展开。

On my way 1211

Silverlight中Binding属性RelativeSource

本文github:https://github.com/kiwiwin/silverlight-demo,文件夹:domain-service-duplex-by-auto-refresh-demo RelativeSource可以用来指定binding的source和binding的target之间的位置关系。   RelativeSource的三种模式: 1.Self模式 目标元

kiwi_coder 5077

CloudCompare二次开发(1)——获取指定高程的所有点

使用CloudCompare插件实现获取点云数据中指定高程的所有点。

点云侠的博客 4732

Silverlight中Datagrid添加Button列用于控制单行对象

说明:vs2010 ultimate + silverlight5 本文中所有代码都可以在github中查看,git版本中采用了master-dev的方式。在master中可以查看每一个demo的最后完成,在dev中可以查看每一步的代码。 github地址:git@github.com:kiwiwin/silverlight-demo.git 文件夹名称datagrid-button

kiwi_coder 4561

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Silverlight DataBinding Converter:根据binding对象调整显示

我希望写一系列关于Silverlight DataBinding的文章,分别讲解Silverlight Binding中不同的功能。本文将会讲的是DataBinding中使用Converter。演示的demo是根据值显示一个小图标,当slider数值小于50的时候,显示绿色,当数值大于等于50时,显示红色。   本文中所有代码都可以在github中查看,git版本中采用了master-dev的

kiwi_coder 2955

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Silverlight中AutoCompleteBox异步更新自定义的ItemSource

本文分为两部分,第一部分演示如何在AutoCompleteBox使用自定义的数据类型和自定义的数据匹配方式,第二部分将演示当itemsource从webservice中异步获取时如何实现.  本文中所有代码都可以在github中查看,git版本中采用了master-dev的方式。在master中可以查看每一个demo的最后完成,在dev中可以查看每一步的代码。 github地址:git@git

kiwi_coder 2258

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

因远程访问导致Silverlight中Design界面不显示的解决方法

为了更方便说明问题,本文将新建一个项目用于重现错误,然后解决错误。说明:vs2010 ultimate + silverlight5 本文中所有代码都可以在github中查看,git版本中采用了master-dev的方式。在master中可以查看每一个demo的最后完成,在dev中可以查看每一步的代码。 github地址:git@github.com:kiwiwin/silverlight-d

kiwi_coder 1591

Silverlight中RIA Domain Service处理Relational Data

首先介绍一个比较好的入门资料:Taking a Tour of RIA Services, 可以先看下这个,本文可以看做一点儿小小的补充 http://msdn.microsoft.com/en-us/library/ff713719(v=VS.91).aspx   github代码地址:git@github.com:kiwiwin/silverlight-demo.git 。文件夹:ria

kiwi_coder 1538

Silverlight单元测试工具配置

在Siverlight Toolkit(http://silverlight.codeplex.com/)中包含了Silverlight单元测试template application。我将说明在使我们的第一个测试通过时,可能遇到哪些问题,以及怎么解决这些问题。 问题一:在安装了Silverlight Toolkit以后,在Installed Templates》Visual C#》Si

kiwi_coder 1532
上一篇: ruby计算平方和开方
下一篇: Silverlight单元测试工具配置
kiwi小白
博客等级 码龄14年 153粉丝 154原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值