C#/WPF - RoutedEvent в классе WPF, который не является UIElement

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

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

1 ответ

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

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

Другие вопросы по тегам