我在 aContextMenu
上有一个DataGrid
,我想MenuItem
根据右键单击的网格中的项目将 a 标记为选中或未选中。
因此,我将 'IsChecked' 属性绑定MenuItem
到我的 ViewModel 上的一个属性,并且我的 VM 根据右键单击的项目将此属性设置为 true 或 false。
但是,事实证明我的ContextMenu
Item 的“IsChecked”属性只被评估一次。每次我右键单击一个项目时都不会对其进行评估。
对于所有后续的右键单击,将保留第一次执行的评估。
不会触发属性“IsCheckedonVM”的 getter。
<MenuItem Command= IsCheckable="True"
IsChecked="{Binding IsCheckedonVM}"
Header = ".."
</MenuItem>
在虚拟机中:
public bool IsCheckedonVM
{
get
{
return selectedItem.IsChecked;
}
set
{
selecteditem.IsChecked = value;
OnPropertyChanged("IsCheckedonVM");
}
如何在每次右键单击时对我的属性进行评估,以便每次都获取该IsChecked
属性?MenuItem
IsCheckedonVM