У меня есть кнопка на ленте, которую я реализовал, и у меня возникают проблемы с привязкой к команде. Лента находится в пользовательском контроле с именем AppRibbon. Элемент управления AppRibon имеет открытое свойство SelectedModule, которое имеет свойство RenameModuleCmd. Когда я создаю обработчик события для кнопки, я вызываю команду явно, чтобы убедиться, что все работает, как показано ниже:
public partial class ApplicationRibbon : UserControl {
public ApplicationRibbon() {
InitializeComponent();
}
public ModuleViewModel SelectedModule { get; set; }
private void ButtonTool_Click(object sender, RoutedEventArgs e) {
SelectedModule.RenameModuleCmd.Execute(null);
}
}
Это отлично работает. Но я, очевидно, не хочу использовать код модели ... скорее, используйте привязку Command. Поэтому я попробовал привязки к фоллингу, но команда ничего не запустила.
<... Command="{Binding Path=SelectedModule.RenameModuleCmd}" />
<... Command="{Binding Path=AppRibbon.SelectedModule.RenameModuleCmd}" />
Я не могу понять, почему это не сработает. Я установил контрольные точки для методов команды CanExecute и Execute, а также для метода получения свойства RenameModuleCmd, но ни один из них не был достигнут. Идеи?