Я хотел бы иметь свойство, которое всегда привязано к текущему элементу управления.
Я видел два способа получить текущее сфокусированное управление.
Один использует Keyboard.FocusedElement. Второй — обход визуального дерева.
Поскольку я хочу знать каждый раз, когда сфокусированный элемент изменяется, кажется, что обход визуального дерева будет выполнять много кода все время.
Но Keyboard.FocusedElement не реализует INotifyPropertyChanged. Поэтому я не могу просто привязаться к нему нормально.
Есть ли способ заставить его сообщить мне, когда он изменится?
(Или какой-то другой способ иметь свойство, которое всегда установлено для элемента управления, сфокусированного в данный момент?)
ПРИМЕЧАНИЕ:Ясно, что я мог бы добавить событие к каждому элементу управления и обновить свойство. Но у меня много контроля. Я хочу избежать необходимости привязывать событие к каждому из них.