下面是從View.xaml.cs我的代碼:如何將一個命令綁定到MenuItem(WPF)?
private RelayCommand _closeCommand;
public ICommand CloseCommand
{
get
{
if (_closeCommand == null)
{
_closeCommand = new RelayCommand(param => this.OnClose());
}
return _closeCommand;
}
}
public void OnClose()
{
Close();
}
這裏是從我的View.xaml一些代碼:
<Window.ContextMenu>
<ContextMenu>
<MenuItem Name="menuItem_Close" Header="Close" Command="{Binding CloseCommand}" />
</ContextMenu>
</Window.ContextMenu>
當我運行該程序,然後選擇關閉菜單項, 什麼都沒發生。 CloseCommand代碼甚至不會被執行。
您是否設置了DataContext? –
我找到了解決我的問題的方法。我正在使用一個ViewModel,它有一個屬性是另一個ViewModel類型,我需要通過這樣做來縮小範圍:'Command =「{Binding ActiveVM.CloseCommand}」' –
我找到了解決您的問題的方法[http://stackoverflow.com/questions/898852/specify-command-for-menuitem-in-a-datatemplate/18362041#18362041][1] [1]:HTTP://計算器。 com/questions/898852 /指定命令爲menuitem-in-a-datatemplate/18362041#18362041 – Jacksquad