Как добавить поведение, используя Expression Blend? - PullRequest
0 голосов
/ 07 апреля 2019

У меня есть ItemsControl с UserControls, который может быть добавлен и удален пользователем.Например, UserControl для удаления будет определено, имеет ли он фокус или нет.Тогда рабочим решением является проверка свойства в ViewModel, если свойство GotFocus установлено или нет, а затем удаление объекта, что приведет к удалению UserControl из пользовательского интерфейса.

Однако GotFocus свойство не подходит для ViewModel, так как оно не имеет ничего общего с бизнес-логикой, но является чисто функциональностью пользовательского интерфейса (например, удаление символов в TextBox).Я бы предпочел, чтобы ViewModel не имел понятия о том, какой элемент управления пользовательского интерфейса имеет фокус или нет.

Поэтому я хочу реализовать функциональность как поведение, предпочтительно с использованием Expression Blend.Это правильный путь, поскольку одна из целей Expression Blend - позволить конструктору пользовательского интерфейса добавить функциональность пользовательского интерфейса.

Я нашел хороший пример кода для ListBox здесь: https://www.codeproject.com/Tips/1278713/WPF-Behavior-to-Give-Buttons-the-Capability-to-Add Этоэто чисто кодовое решение, однако, дается небольшое объяснение того, что делает код.Как это будет сделано в Expression Blend?Где найти объяснение (окна Blend) Активы -> Поведения -> Используется SomeAction?

...