Имеется "стандартный" стиль для кнопок закрыть/свернуть/развернуть:
<Style TargetType="{x:Type Button}" x:Key="WindowControlButton">
<Setter Property="Foreground" Value="{StaticResource ForegroundGreyDarkBrush}" />
<Setter Property="Margin" Value="8 0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Red" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Также я пытался задать триггер не через template:
<Style TargetType="{x:Type Button}" x:Key="WindowControlButton">
<Setter Property="WindowChrome.IsHitTestVisibleInChrome" Value="True" />
<Setter Property="Foreground" Value="{StaticResource ForegroundGreyDarkBrush}" />
<Setter Property="Margin" Value="8 0" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Red" />
</Trigger>
</Style.Triggers>
</Style>
И имеется отдельный стиль для кнопки "свернуть", который наследуется от вышеупомянутого "стандартного" стиля, контент для которой задается при помощи Path:
<Style TargetType="{x:Type Button}" x:Key="WindowMinimizeButton" BasedOn="{StaticResource WindowControlButton}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Grid MaxHeight="9" MaxWidth="9">
<Path
RenderOptions.EdgeMode="Aliased"
Stroke="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}}}"
StrokeThickness="1"
Stretch="None"
Data="M0,8 H8 M0,7 H8 M0,6 H8"
/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Вопрос: почему не срабатывает триггер при наведении на кнопку? Должен меняться задний фон на красный, я так понимаю это как-то связано с Path, так как если текст у самой кнопки задавать через Content, то все работает, спасибо)
Вынес Path в саму кнопку:
<Button Style="{StaticResource WindowControlButton}">
<Grid MaxHeight="9" MaxWidth="9">
<Path
RenderOptions.EdgeMode="Aliased"
Stroke="{Binding Foreground, RelativeSource={RelativeSource AncestorType={x:Type Button}}}"
StrokeThickness="1"
Stretch="None"
Data="M0,8 H8 M0,7 H8 M0,6 H8"
/>
</Grid>
</Button>
Сам стиль WindowControlButton:
<Style TargetType="{x:Type Button}" x:Key="WindowControlButton">
<Setter Property="WindowChrome.IsHitTestVisibleInChrome" Value="True" />
<Setter Property="Foreground" Value="{StaticResource ForegroundGreyDarkBrush}" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="Padding" Value="12 0" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Button}">
<Border Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}">
<ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{StaticResource BackgroundGreyLightBrush}" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Код не возвращает Bool в false в Unity3D, подскажите как написать, надоело уже танцевать с бубном
Есть код с рекурсией внутри, проблема в том что вываливается переполнение стека, с тем учетом что условие выхода из рекурсивного перехода...
Какой есть генератор формы с неограниченной вложенностью input элементов? Должна быть поддержка строк и массивов
После загрузки картинки в AdminFormElement::image на странице происходит эдакое