У меня есть элемент управления, который расширяется, когда IsMouseOver имеет значение true с помощью триггера. В этом элементе управления есть несколько текстовых полей, которые проходят некоторую базовую проверку. Моя проблема в том, что когда возникает ошибка проверки и пользователь наводит курсор на красную границу вокруг текстового поля (это почти гарантировано, когда пользователь перемещает мышь в центр текстового поля, чтобы изменить значение), IsMouseOver устанавливается на false, и элемент управления закрывается. .
Ошибка проверки для текстовых полей:
<Style TargetType="{x:Type TextBox}">
<Style.Triggers>
<Trigger Property="Validation.HasError" Value="True">
<Setter Property="ToolTip" Value="{Binding
Path=(Validation.Errors)[0].ErrorContent,
RelativeSource={x:Static RelativeSource.Self}}" />
</Trigger>
</Style.Triggers>
</Style>
Триггер для отображения контроля:
<DataTrigger Binding="{Binding ElementName=TabControl_TabPanel, Path=IsMouseOver}" Value="True">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
ОБНОВЛЕНИЕ: IsMouseOver также получает значение False, когда я щелкаю правой кнопкой мыши текстовое поле и открываю контекстное меню.