Я пытаюсь использовать RoutedCommand в моем представлении, чтобы я мог использовать функциональность CanExecute, но единственный способ заставить его работать - это DelegateCommand из Prism. Когда я пытаюсь использовать RoutedCommand, кнопка остается неактивной, и функция CanExecute никогда не используется.
Я пытался поместить CommandBinding в мой XAML, но это дает «Допустимы только методы экземпляра в сгенерированном классе или классе с выделенным кодом». ошибка. Вот этот код:
<Window.CommandBindings>
<CommandBinding Command="AddCommand"
Executed="my:SettingsDialogViewModel.AddCommandMethod"
CanExecute="my:SettingsDialogViewModel.AddCommandMethodCanExecute" />
</Window.CommandBindings>
Я также пытался установить CommandBinding в коде, но это тоже не помогает. Я просто не уверен, как заставить его работать, если не считать его в коде, или реализации какой-то смехотворно сложной вещи, которую я нашел в сети.
Спасибо за любую помощь:)
EDIT:
Вот методы, которые я пытаюсь использовать:
public void AddCommandMethod()
{
if (SelectedMain != null)
{
SelectedMain.IsDirty = true;
_faveAppList.Add(SelectedMain);
SelectedMain.ListOrder = _faveAppList.Count;
_mainAppList.Remove(SelectedMain);
_listDirty = true;
}
}
public void AddCommandMethodCanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = true;
}