Есть окно с кастомным стилем и в стиле кнопка MinimizeButton с кастомным Template, который изменяет ее Background на extensions:ButtonExtension.HighlightedBackground когда IsMouseOver = true. Если убрать кнопку из стиля окна то ее template работает нормально. А в стиле окна не работает тригер IsMouseOver = true
(мышка наведена)
Стиль окна:
<Style TargetType="{x:Type Window}" x:Key="ModifiedWindow">
<Setter Property="OverridesDefaultStyle" Value="True"/>
<Setter Property="ResizeMode" Value="CanResizeWithGrip"/>
<Setter Property="WindowChrome.WindowChrome">
<Setter.Value>
<WindowChrome NonClientFrameEdges="None" CornerRadius="0"
CaptionHeight="29"/>
</Setter.Value>
</Setter>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Window}">
<Border BorderThickness="1" Name="TopLine">
<Grid Background="{TemplateBinding Background}">
<Grid.RowDefinitions>
<RowDefinition Height="29"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Background="White" Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.Column="2" Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="45"/>
<ColumnDefinition Width="45"/>
<ColumnDefinition Width="45"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
</Grid.RowDefinitions>
<Button Name="MinimizeButton" Grid.Column="1" Grid.Row="0" BorderThickness="0" Background="Red" Foreground="White" extensions:ButtonExtension.HighlightedBackground="Red" extensions:ButtonExtension.HighlightedForeground="White" Template="{DynamicResource MinimizeButtonTemplate}"/>
</Grid>
</Grid>
<AdornerDecorator Grid.Row="1">
<ContentPresenter Margin="{TemplateBinding Padding}"
Content="{TemplateBinding Content}"/>
</AdornerDecorator>
</Grid>
</Border>
<ControlTemplate.Triggers>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Template кнопки:
<ControlTemplate x:Key="MinimizeButtonTemplate" TargetType="{x:Type Button}">
<Border Name="Border"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<Line Name="Line" RenderOptions.EdgeMode="Aliased" HorizontalAlignment="Center" VerticalAlignment="Center" Stroke="{TemplateBinding Foreground}" StrokeThickness="1" X1="0" Y1="0" X2="10" Y2="0"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" TargetName="Border" Value="{Binding (extensions:ButtonExtension.HighlightedBackground), RelativeSource={RelativeSource AncestorType={x:Type Button}}}"/>
<Setter Property="Foreground" Value="{Binding (extensions:ButtonExtension.HighlightedForeground), RelativeSource={RelativeSource AncestorType={x:Type Button}}}"/>
<Setter Property="Stroke" TargetName="Line" Value="{Binding (extensions:ButtonExtension.HighlightedForeground), RelativeSource={RelativeSource AncestorType={x:Type Button}}}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" Value="LightGray"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Требуется с помощью рекурсии определить можно ли из массива 1N, в котором лежать целые неотрицательные числа, получить сумму K, если можно...
Написал программу на микроконтроллере которая в порт посылает данные(4 константных значения типа int) через функцию sprintf, sprintf переводит интовое...
Приложение выполняет парсинг HTML страницыHTML страница имеет текст, картинки, таблицы и другое содержание
Помогите, пожалуйстаДелаю скрипт, в котором можно добавлять пользователя, каждый пользователь имеет свою должность (таблица в базе positions)