Повышение RoutedEvents в не-UIElement классе - PullRequest
2 голосов
/ 16 сентября 2010

Кажется, что вся мощь routedevents направлена ​​на разработку пользовательского интерфейса.Смысл спросить, можно ли вызвать перенаправленное событие из класса, который вообще не расширяет класс UIElement или UserControl?Например: я создаю класс State, который выполняет несколько изменений некоторых данных (в основном чертежей и объектов), и я хочу сообщить основному пользовательскому интерфейсу, чтобы он мог обновить свои Adorner s и вызвать перерисовку визуального элемента.

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

Есть ли способ добиться этого или я полностью выключен?

1 Ответ

0 голосов
/ 16 сентября 2010

Вы должны найти интерфейс ICommand и реализовать его в пользовательском классе команд.

В качестве альтернативы вы можете найти реализацию RelayCommand , которая позволяет определить командубез необходимости реализации класса.

О разнице между RoutedCommand и RelayCommand вы можете прочитать это обсуждение .

...