我有一個網格的上下文菜單的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