私はほとんどの日、記事を読んできましたが、これを見つけることができないか、それを理解することができません。かなり多くの質問と回答がXAMLのメニューを構築していますが、これをコードで実行しようとしています。C#WPFでMenuItemにコマンドをバインドする方法
メニューはうまくいきます(これ以上はありますが、ここでは省略してあります)、正しく有効または無効にしますが、実行するコマンドを取得できません。メニューのリボンにボタンがありますので、私はバックエンドのコードを知っているので、メニューから呼び出す方法を理解できないようです。どんなアイデアがいいだろう。
MainView.xaml.csからメニューを構築して表示するためのマウスイベント。ライン上には固定が必要な**があります。私MainViewModel.csから
private void MainDataGrid_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
ContextMenu m = new ContextMenu();
MenuItem mi = new MenuItem();
m.Items.Add(new MenuItem());
mi = (MenuItem)m.Items[0];
mi.Header = "Resubmit";
**mi.CommandBindings.Add(new CommandBinding(ApplicationCommands.New, ResubmitCommand));**
mi.IsEnabled = MainViewModel.CurrentSelectedItems.Count > 0;
.
.
.
m.IsOpen = true;
}
ResubmitCommand:
public ICommand ResubmitCommand
{
get
{
return _resubmitCommand ??
(_resubmitCommand = new RelayCommand(
o => Resubmit(),
o => CanResubmit));
}
}
感謝。あなただけのメニュー項目のCommand
プロパティを設定することができます
m.Items.Add(mi);
理由を説明するコメントを投稿するにはあまりにも鶏肉があると、誰かに何かを投票させるのは本当に悪化しています。あなたが理由を考えることができない場合は、それだけで離れる。 – CodeChops