C # / WPF - RoutedEvent в классе WPF, который не является UIElement - PullRequest
1 голос
/ 29 марта 2010

У меня есть класс, который должен уведомить, что произошло что-то значительное. Класс находится в WPF-проекте, даже если этот конкретный класс не имеет внешнего вида (и не наследуется от UIElement ни прямо, ни косвенно).

Обычно я просто регистрирую RoutedEvent, чтобы получить эту функциональность, но так как в этом классе нет ни AddHandler, ни RemoveHandler, я не могу заставить его работать. Кто-нибудь знает другой способ получить поведение RoutedEvent?

1 Ответ

0 голосов
/ 29 марта 2010

Насколько я знаю, если ваш класс не является UIElement, он не может быть частью визуального дерева, а если он не является частью визуального дерева, вы не можете выбросить RoutedEvent с. Это строго концепция пользовательского интерфейса.

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

...