Я читал сообщения большую часть дня и не могу найти это или понять это. Практически все вопросы и ответы создают меню в XAML, но я пытаюсь сделать это в коде.Как связать команду с MenuItem в C# WPF
Меню строит отлично (там больше, просто сокращенно здесь) и включает или отключает правильно, но я не могу выполнить команду для выполнения. На ленте меню есть кнопка, которая повторно возвращает, поэтому я знаю, что код на задней панели работает, я просто не могу понять, как его вызывать из меню. Любые идеи были бы хороши.
Событие мыши для создания и отображения меню из MainView.xaml.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;
}
The ResubmitCommand из моих MainViewModel.cs:
public ICommand ResubmitCommand
{
get
{
return _resubmitCommand ??
(_resubmitCommand = new RelayCommand(
o => Resubmit(),
o => CanResubmit));
}
}
Спасибо.
Это действительно усугубляет то, что кто-то голосует что-то, когда они слишком цыпленок, чтобы опубликовать комментарий, объясняющий почему. Если вы не можете придумать причину, оставьте ее в покое. – CodeChops