WPF команды и пользовательские элементы управления - PullRequest
0 голосов
/ 13 декабря 2011

Я создаю пользовательский элемент управления, который представляет собой расширяемую / складывающуюся панель, которую затем можно заполнить другими элементами управления.Я не уверен, как подключить команду раскрытия / свертывания к кнопке.

Я использовал это, чтобы заставить панель слушать:

    CommandManager.RegisterClassInputBinding(GetType(Button), New InputBinding(ToggleBtnCommand, New MouseGesture(MouseAction.LeftClick)))
    CommandManager.RegisterClassCommandBinding(GetType(Button), New CommandBinding(ToggleBtnCommand, AddressOf btnToggleState))

Это работает, покатак как я использую только одну панель на окно.Если я использую больше панелей, все они растягиваются или сворачиваются при нажатии кнопки.Как я могу заставить управление понять, что только тот, который содержит нажатую кнопку («триггер команды»), должен слушать команду?

1 Ответ

0 голосов
/ 26 января 2012

В вашем ToggleBtnCommand (это на самом деле, но я бы лично удалил Btn из имени, поскольку команды не зависят от пользовательского интерфейса) - обработчик выполнения, в котором вы бы использовали ExecutedRoutedEventArgs в качестве аргумента secong, сравнивая его Source & OriginalSource, который вы можете сказать будь то локальная команда или нет.

[Я скопировал этот комментарий в ответ, чтобы пометить вопрос как отвеченный - это портит мою скорость принятия. :)]

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