这是一个有点奇怪的问题。(.NET 3.5sp1)
我有一个包含三个 ToggleButtons 的 UserControl,每个都有 IsChecked 绑定到 UserControl 本身的不同依赖项属性。其中两个默认为真,一个默认为假。
在应用程序启动时,UserControl 本身(以及它的内容)被禁用。稍后启用时,所有三个按钮都未按下;但是代码属性仍处于正确状态。
如果单击按钮,则属性将正确切换,并且 UI(仅适用于该按钮)将更新以反映正确的状态(即单击显示为未按下但具有真实绑定值的按钮将显示没有可见的变化第一次,但将绑定值更新为 false)。第二次按下“故障”按钮将正常运行(如果它打开,按钮将按预期按下)。
如果在启动时未禁用 UserControl,则按钮将正确显示(根据属性的状态)。
不幸的是,用户控件应该在启动时被禁用,所以我不能真正启动它;我希望有一个替代解决方案。有任何想法吗?
(我尝试将属性默认设置为 false,然后在用户控件的 Load 事件中将它们设置为 true。没有任何区别。)