首页 > 其他分享 >记录一下工作遇到的一个小bug,DataGrid的DataGridCheckBoxColumn 问题

记录一下工作遇到的一个小bug,DataGrid的DataGridCheckBoxColumn 问题

时间:2023-12-08 09:02:21浏览次数:39  
标签:触发 PropertyChanged CheckBox Checked DataGridCheckBoxColumn DataGrid 改变 IsSelect 

<DataTemplate x:Key="CheckBoxDataTemplate">
<Grid>
<CheckBox Click="CheckBox_Checked"

IsChecked="{Binding IsSelect , Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
</CheckBox>
</Grid>
</DataTemplate>

 

使用了上面的数据模板,单击的时候会触发CheckBox_Checked事件,CheckBox_Checked事件会改变所选行对象的IsSelect 的值。

但是在使用过程中发现,会有几个行对象,单击的时候,会先触发PropertyChanged改变IsSelect,然后进入CheckBox_Checked事件,改变IsSelect 的时候再次触发PropertyChanged。这样的结果就是复选框不能选中,一直都是未选中。我程序里也没有其他地方改变IsSelect ,而且每次都是那些几个行对象有这个现象。

解决方法:

Mode使用OneWay,只能通过UI界面来改变这个值,不能使用TwoWay。

标签:触发,PropertyChanged,CheckBox,Checked,DataGridCheckBoxColumn,DataGrid,改变,IsSelect,
From: https://www.cnblogs.com/sww31302472/p/17884403.html

相关文章

  • 笔记·Debug
    笔记·DebugBug程序在正常运行过程中出现了意料之外的结果或者未能达到需求时,说明程序存在Bug,即程序存在错误,缺陷或问题绝大多数Bug是由于程序设计不合理或编码错误所导致(另外一部分是由于硬件出现了故障或缺陷)DebugDebug即寻找错误的过程,Debug的困难在于以下三点1.我们只能......
  • Shrinker Debugfs Interface (翻译 by chatgpt)
    原文:https://www.kernel.org/doc/html/latest/admin-guide/mm/shrinker_debugfs.htmlShrinkerDebugfsInterface收缩器debugfs接口提供了对内核内存收缩子系统的可见性,并允许获取有关单个收缩器的信息并与其交互。对于系统中注册的每个收缩器,都会在<debugfs>/shrinker/目......
  • debug-聪明办法学Python
    如何Debug调试理论开始调试之前通过不断地调试,比如在循环中打印某个元素检查不得不承认机器永远只认编程语言不过你必须要时刻关注你的变量名称是否发生变更,这在大改前必须要注意的调试已知程序有bug,如何找到?调试困难的根本原因因为bug的触发经历了漫长的过程需求->设......
  • google chrome remote debbuging vulnerability
    FormofexpressionThefirstislinpeas.shintheprocessofdetectionfoundthatthereisaremotedebuggingofgooglechrome.thephenotypeandanalysisareasfollows:let'sscrutinize./bin/bash/usr/bin/google-chrome--allow-pre-commit-input-......
  • 如何Debug
    调试理论调试要摆正心态开始之前,记住机器永远是对的,bug可能就在你想不到的地方一、bug:第一种:理解错需求第二种:出现错误调试——已知有bug要怎样找调试困难根本原因需求——设计——代码(状态机)——Fault(bug)——Error(程序状态错)——Failure一旦某个环节出错代码就会错误,无......
  • Debug常见问题和解决思路
    如何debugbug来源:1,粗心2,知识不熟悉3,思路不清晰4,被动掉坑解决bug的思路1,摆正心态,相信机器永远是对的2,如果能搞清bug类型,则针对性的调试,实在不知道,分段进行逐段调试1,print调试:将程序分段后添加print,锁定问题发生地2,assert调试:表达式是否成立3,ide调试:查看报错3,如果自......
  • debug
    debug调试困难的根本原因因为bug的触发经历了漫长的过程需求->设计->代码(状态机)->Fault(bug)->Error(程序状态错)->Failure我们只能观测到failure(可观测的结果错)我们可以检查状态的正确性(但非常费时)无法预知bug在哪里(每一行"看起来"都挺对)调试方法1.print调试:将......
  • 聊聊如何为python程序 debug
    开始调试之前摆正心态一、调理论的简单介绍1、调试理论“软件”的两层含义·人类需求在信息世界的投影    理解错需求→bug·计算过程的精确(数学)描述     实现错误→bug2、调试困难的根本原因因为bug的触发经历了漫长的过程·需求→设计→代码(状态机)→F......
  • 12.7-task-如何debug
    Debug调试理论圣经错误的两个方面,1是对项目的理解错误,2就是代码逻辑错误看懂报错信息理解报错英文,不理解百度嘻嘻也可以装插件,配置debug环境,更加简洁assertassert相当于一个断点,不会执行后面条件的步骤vs在vs中,点击运行与调试,选择python当前文件也可以设置断......
  • 如何Debug
    如何Debug调试理论开始调试之前摆正心态(编程哲♂学)机器永远是对的不管是crash了,WrongAnswer了,还是虚拟机神秘重启,都是自己背锅未测代码永远是错的你以为最不可能出bug的地方,往往bug就在那躺着“软件”的两层含义人类需求在信息世界得的投影理解错需求->bug计......