Я создал окно для замены стандартного Chrome, и я хочу обрабатывать активированные и деактивированные события с помощью EventSetters. Я получаю сообщение об ошибке "... 'Activated' должен быть зарегистрирован RoutedEvent ..." с этим:
<EventSetter Event="Activated" Handler="Window_Activated"/>
Тем не менее, это прекрасно работает в том же стиле.
<EventSetter Event="Loaded" Handler="Window_Loaded"/>
Кто-нибудь сталкивался с этим или знает, что случилось?
Edit:
<Style x:Key="Window_Cartesia" TargetType="{x:Type Window}">
<Setter Property="WindowStyle" Value="None"/>
<Setter Property="AllowsTransparency" Value="True"/>
<Setter Property="Background" Value="Transparent"/>
<EventSetter Event="Loaded" Handler="Loaded"/>
<EventSetter Event="Activated" Handler="Window_Activated"/>
<EventSetter Event="KeyDown" Handler="KeyDown"/>
...
EDIT:
Это, кажется, покрывает это.
Определено в событии Loaded:
AddHandler Win.Activated, AddressOf Activated
AddHandler Win.Deactivated, AddressOf Deactivated
Поскольку это код для стиля, мне нужна ссылка на экземпляр Win. Я не знаю, является ли это лучшим способом для достижения этой цели, но ...
РЕДАКТИРОВАТЬ 1:
Кроме того, триггер для IsActive для обработки в xaml.
<Trigger Property="IsActive" Value="True">
...
</Trigger>