90 lines
5.1 KiB
XML
90 lines
5.1 KiB
XML
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:attachedProperties="clr-namespace:Livia.Views.AttachedProperties"
|
|
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes">
|
|
|
|
|
|
<Style TargetType="{x:Type ButtonBase}"
|
|
x:Key="MaterialTitleBarButton">
|
|
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="ButtonBase">
|
|
<Border Width="32"
|
|
Name="Border"
|
|
Height="32">
|
|
<Button VerticalAlignment="Center"
|
|
HorizontalAlignment="Center"
|
|
Name="Button"
|
|
Background="Transparent"
|
|
Style="{StaticResource MaterialDesignFloatingActionButton}">
|
|
<materialDesign:PackIcon Name="ButtonIcon"
|
|
Foreground="{TemplateBinding Foreground}"
|
|
Width="16"
|
|
Height="16" />
|
|
</Button>
|
|
</Border>
|
|
|
|
<ControlTemplate.Triggers>
|
|
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding ElementName=Border, Path=IsMouseOver}"
|
|
Value="True" />
|
|
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=(attachedProperties:MaterialTitleBarButtonProperties.IsCloseButton)}"
|
|
Value="True" />
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter TargetName="Button"
|
|
Property="Background"
|
|
Value="{StaticResource AlertAlternativeColorBrush}" />
|
|
</MultiDataTrigger>
|
|
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding ElementName=Border, Path=IsMouseOver}"
|
|
Value="True" />
|
|
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=(attachedProperties:MaterialTitleBarButtonProperties.IsCloseButton)}"
|
|
Value="false" />
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter TargetName="Button"
|
|
Property="Background"
|
|
Value="{StaticResource PrimaryTextColorBrush}" />
|
|
</MultiDataTrigger>
|
|
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding ElementName=Border, Path=IsMouseOver}"
|
|
Value="True" />
|
|
<Condition Binding="{Binding RelativeSource={RelativeSource Self}, Path=(attachedProperties:MaterialTitleBarButtonProperties.TrueIconKind)}"
|
|
Value="HideOutline" />
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter TargetName="Button"
|
|
Property="Background"
|
|
Value="Transparent" />
|
|
<Setter TargetName="ButtonIcon"
|
|
Property="Foreground"
|
|
Value="White" />
|
|
</MultiDataTrigger>
|
|
|
|
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=(attachedProperties:MaterialTitleBarButtonProperties.IconSwitch)}"
|
|
Value="True">
|
|
<Setter TargetName="ButtonIcon"
|
|
Property="Kind"
|
|
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(attachedProperties:MaterialTitleBarButtonProperties.TrueIconKind)}" />
|
|
</DataTrigger>
|
|
|
|
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=(attachedProperties:MaterialTitleBarButtonProperties.IconSwitch)}"
|
|
Value="False">
|
|
<Setter TargetName="ButtonIcon"
|
|
Property="Kind"
|
|
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(attachedProperties:MaterialTitleBarButtonProperties.FalseIconKind)}" />
|
|
</DataTrigger>
|
|
</ControlTemplate.Triggers>
|
|
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
|
|
</Style>
|
|
|
|
</ResourceDictionary> |