Триггер Ismouseover не работает при использовании showdialog и окна без полей
У меня их два
Window
для приложения. Один из них MainWindow
а другой - для настроек. SettingsWindow
открывается с помощью ShowDialog
и установив его Owner
к MainWindow
при нажатии кнопки настройки.На `установочном окне` У меня есть кнопка в самом низу окна, и она меняет цвет на красный когда IsMouseOver является
True
и синий для False
Но это не меняется, когда курсор находится над главным окном. Изображение ниже, чтобы быть ясным. Как я могу решить эту проблему?ДЕЛО: Курсор находится вне SettingsWindow, но он сохраняет красный цвет, никаких изменений.
Что я уже пробовал:
<Window x:Class="AltoSS.SettingsWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="SettingsWindow" Height="150" Width="360" WindowStyle="None" AllowsTransparency="True" WindowStartupLocation="CenterOwner"> <!-- Other control codes--> <Button Grid.Row="2" Content="KAYDET" FontSize="15" FontWeight="Bold" BorderBrush="Gray" BorderThickness="0,2,0,2"> <Button.Style> <Style TargetType="Button"> <Setter Property="Background" Value="Blue"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="Button"> <Border removed="{TemplateBinding Background}"> <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> </Border> <ControlTemplate.Triggers> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="Background" Value="Red"/> <Setter Property="Foreground" Value="White"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style> </Button.Style> </Button> </Window>
private void btnOpenSettings_Click(object sender, RoutedEventArgs e) { SettingWindow sw = new SettingWindow(); sw.WindowStartupLocation = System.Windows.WindowStartupLocation.CenterOwner; sw.Owner = this; sw.ShowDialog(); }