Проблема с привязкой команды к кнопке в WPF - PullRequest
0 голосов
/ 10 мая 2010

У меня есть кнопка на ленте, которую я реализовал, и у меня возникают проблемы с привязкой к команде. Лента находится в пользовательском контроле с именем 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, но ни один из них не был достигнут. Идеи?

1 Ответ

0 голосов
/ 11 мая 2010

Вам необходимо указать, к какому элементу вы привязываетесь при разработке UserControl и привязки внутри него. Попробуйте:

<... Command="{Binding ElementName=AppRibbon, Path=SelectedModule.RenameModuleCmd}" />

Предполагая, что ваш UserControl называется AppRibbon, как, по-видимому, подразумевается в вашем сообщении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...