akj*_*shi 3 .net data-binding wpf binding
今天我遇到了一个问题,它提醒我在某些情况下绑定会自动分离.我不确定,但这是情景 -
我附加一个绑定到属性(实现INotifyPropertyChanged
)的菜单项,如下所示 -
IsChecked="{Binding Path=DisplayLongUnit, Mode=TwoWay}"
Run Code Online (Sandbox Code Playgroud)
现在在它的检查事件处理程序中,我IsChecked
检查了一些这样的条件后更新它的值 -
If( condition == true){menuItem.IsChecked = true}
Run Code Online (Sandbox Code Playgroud)
现在绑定还会附加还是会丢失?(我记得在某个地方读过它会丢失).
是否存在自动分离绑定的任何情况?
我能找到的就是这里提到的 -
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/08d6e4c4-47ab-44f3-b19a-c0ab872fb1a8
小智 7
关于知道绑定是否已分离:您可以做的是调试绑定.首先,在XAML中添加诊断命名空间.这是一个关于Window的示例(为了清楚起见,我删除了其他常用名称空间):
<Window xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase">
Run Code Online (Sandbox Code Playgroud)
然后在绑定上启用跟踪.这是一个在TextBox的Text属性上设置绑定的示例:
<TextBox Text={Binding FirstName, diagnostics:PresentationTraceSources.TraceLevel=High} />
Run Code Online (Sandbox Code Playgroud)
现在,如果在运行程序时查看Visual Studio的"输出"选项卡,您将看到有关绑定的信息,包括分离时的" 分离 "信息.
所以这并没有告诉你为什么它是分离的,只有当它.它可以帮助.
归档时间: |
|
查看次数: |
2060 次 |
最近记录: |