我有一个网格的上下文菜单的MenuItem,它的IsEnabled属性绑定到MyProperty。它正常工作,直到我实际上点击MenuItem的事件处理程序,它没有代码。在点击MenuItem后,dataBinding不再有效。WPF:控件失去绑定
我可以告诉我'我的MyProperty的getter我的断点没有被击中。
有什么想法为什么?
下面是代码:
<my:DataGrid.ContextMenu >
<ContextMenu Name="restoreCntextMenu" DataContext="{Binding PlacementTarget.SelectedItem, RelativeSource={RelativeSource Self}}">
<MenuItem Header="Data Service" Click="dataServiceToolStripMenuItem_DropDownOpening">
<MenuItem Header="Start" Click="startDataToolStripMenuItem_Click" IsEnabled="{Binding MyProperty}" />
</MenuItem>
</ContextMenu>
</my:DataGrid.ContextMenu>
MyProperty是一个DependencyProperty吗?如果是的话:WPF框架不使用实际的getter来解析绑定,它直接调用`GetValue`。所以你不能分辨这个值是否真的被要求。 (顺便说一下,这就是为什么在DP中执行某些操作(s | g)而不是其他方法,只需调用(S | G)etValue) – Vlad 2010-11-26 12:55:08