相关疑难解决方法(0)

C#WPF中的只读CheckBox

我有一个棘手的问题,我想从复选框中略微不寻常的行为,似乎无法弄明白.任何建议都是最受欢迎的.我想要的行为是:

  1. CheckBox已启用并准备供用户单击,IsChecked表示存储在数据结构中的绑定布尔值
  2. 用户单击CheckBox导致单击事件触发但数据结构中的绑定值未更新,并且CheckBox的可视表示未更新但已禁用以停止进一步单击
  3. click事件触发将消息发送到远程设备,这需要一些时间来响应
  4. 远程设备响应导致使用新值更新数据结构,然后绑定更新isChecked状态,并重新启用CheckBox以进一步单击

我遇到的问题是,虽然OneWay数据绑定在单击CheckBox时不会更新数据结构,但是可视表示确实发生了变化(我认为这很奇怪,现在不应该使用IsChecked作为指向该值的指针)数据结构).

我可以反转Click()事件中的更改并在那里执行禁用,但这非常混乱.我也可以使用数据结构值的set属性来设置一个isEnabled值,该值也必须重新启用CheckBox,但这似乎也很麻烦.

有干净的方法吗?也许使用派生的CheckBox类?如何阻止直观表示更新?

谢谢

埃德

c# wpf checkbox binding

18
推荐指数
3
解决办法
2万
查看次数

标签 统计

binding ×1

c# ×1

checkbox ×1

wpf ×1