Как и в этом посте, я хочу создать пользовательский элемент управления, состоящий из нескольких элементов управления, которые будут использоваться в нескольких местах моего приложения. Как и в другом посте, кнопки в CommandBar должны запускать события/команды, специфичные для их использования. Все работает отлично, за исключением некоторых случаев, когда я хочу использовать свойство Command для запуска команды IRelay в ViewModel страницы, где реализован элемент управления, вместо использования Click событие. Я уперся в стену, используя свойство XAML Command для кнопок.
Возможно, я делаю это совершенно неправильно, но это то, что у меня есть, и где я застрял.
Страница XAML для реализации пользовательского элемента управления привязывается к команде IRelay в ViewModel. Команда ShowPropertiesCommand IRelay в коде пользовательского элемента управления не найдена.
UserControl XAML привязывается к команде ShowPropertiesCommand IRelay в коде.
...
...
...
Код в коде пользовательского элемента управления. Выполнение ExecuteShowPropertiesCommand — еще одно место, где я застрял. Как я могу заставить реализацию запускать команду в ViewModel страницы, на которой реализован пользовательский элемент управления?
public MyTreeView()
{
this.InitializeComponent();
ShowPropertiesCommand = new RelayCommand(ExecuteShowPropertiesCommand);
}
public IRelayCommand ShowPropertiesCommand;
private void ExecuteShowPropertiesCommand(object obj)
{
//WHAT TO PUT HERE??
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... f-a-button