csharpc-sharpdotnetxamlavaloniauicross-platformcross-platform-xamlavaloniaguimulti-platformuser-interfacedotnetcore
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
4.5 KiB
100 lines
4.5 KiB
<ResourceDictionary xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
|
<Design.PreviewWith>
|
|
<Border Padding="20">
|
|
<StackPanel Spacing="20">
|
|
<CaptionButtons Height="30"/>
|
|
</StackPanel>
|
|
</Border>
|
|
</Design.PreviewWith>
|
|
|
|
<ControlTheme x:Key="FluentCaptionButton" TargetType="Button">
|
|
<Setter Property="Background" Value="#ffe5e5e5" />
|
|
<!-- Reusing BorderBrush to define pressed background color, as it's not used otherwise -->
|
|
<Setter Property="BorderBrush" Value="#ffcacaca" />
|
|
<Setter Property="Foreground" Value="Black"/>
|
|
<Setter Property="Width" Value="45"/>
|
|
<Setter Property="VerticalAlignment" Value="Stretch"/>
|
|
<Setter Property="Template">
|
|
<ControlTemplate>
|
|
<ContentPresenter Name="PART_ContentPresenter"
|
|
Background="Transparent"
|
|
Content="{TemplateBinding Content}"/>
|
|
</ControlTemplate>
|
|
</Setter>
|
|
|
|
<Style Selector="^:pointerover /template/ ContentPresenter">
|
|
<Setter Property="Background" Value="{TemplateBinding Background}" />
|
|
</Style>
|
|
|
|
<Style Selector="^:pressed /template/ ContentPresenter">
|
|
<Setter Property="Background" Value="{TemplateBinding BorderBrush}" />
|
|
</Style>
|
|
</ControlTheme>
|
|
|
|
<ControlTheme x:Key="{x:Type CaptionButtons}" TargetType="CaptionButtons">
|
|
<Setter Property="MaxHeight" Value="30" />
|
|
<Setter Property="Template">
|
|
<ControlTemplate>
|
|
<StackPanel Spacing="2" VerticalAlignment="Stretch" TextElement.FontSize="10" Orientation="Horizontal">
|
|
<Button x:Name="PART_FullScreenButton"
|
|
Theme="{StaticResource FluentCaptionButton}"
|
|
IsVisible="False">
|
|
<Viewbox Width="11" Margin="2">
|
|
<Path Name="FullScreenButtonPath"
|
|
Stretch="UniformToFill"
|
|
Fill="{TemplateBinding Foreground}"
|
|
Data="M2048 2048v-819h-205v469l-1493 -1493h469v-205h-819v819h205v-469l1493 1493h-469v205h819z" />
|
|
</Viewbox>
|
|
</Button>
|
|
<Button x:Name="PART_MinimiseButton"
|
|
Theme="{StaticResource FluentCaptionButton}"
|
|
AutomationProperties.Name="Minimise">
|
|
<Viewbox Width="11" Margin="2">
|
|
<Path Stretch="UniformToFill"
|
|
Fill="{TemplateBinding Foreground}"
|
|
Data="M2048 1229v-205h-2048v205h2048z" />
|
|
</Viewbox>
|
|
</Button>
|
|
<Button x:Name="PART_RestoreButton"
|
|
Theme="{StaticResource FluentCaptionButton}"
|
|
AutomationProperties.Name="Maximise">
|
|
<Viewbox Width="11" Margin="2">
|
|
<Viewbox.RenderTransform>
|
|
<RotateTransform Angle="-90" />
|
|
</Viewbox.RenderTransform>
|
|
<Path Name="RestoreButtonPath"
|
|
Stretch="UniformToFill"
|
|
Fill="{TemplateBinding Foreground}"
|
|
Data="M2048 2048v-2048h-2048v2048h2048zM1843 1843h-1638v-1638h1638v1638z"/>
|
|
</Viewbox>
|
|
</Button>
|
|
<Button x:Name="PART_CloseButton"
|
|
Background="#ffe81123"
|
|
BorderBrush="#fff1707a"
|
|
Theme="{StaticResource FluentCaptionButton}"
|
|
AutomationProperties.Name="Close">
|
|
<Viewbox Width="11" Margin="2">
|
|
<Path Stretch="UniformToFill"
|
|
Fill="{TemplateBinding Foreground}"
|
|
Data="M1169 1024l879 -879l-145 -145l-879 879l-879 -879l-145 145l879 879l-879 879l145 145l879 -879l879 879l145 -145z" />
|
|
</Viewbox>
|
|
</Button>
|
|
</StackPanel>
|
|
</ControlTemplate>
|
|
</Setter>
|
|
<Style Selector="^:maximized /template/ Path#RestoreButtonPath">
|
|
<Setter Property="Data" Value="M2048 410h-410v-410h-1638v1638h410v410h1638v-1638zM1434 1434h-1229v-1229h1229v1229zM1843 1843h-1229v-205h1024v-1024h205v1229z" />
|
|
</Style>
|
|
<Style Selector="^:fullscreen /template/ Path#FullScreenButtonPath">
|
|
<Setter Property="IsVisible" Value="True" />
|
|
<Setter Property="Data" Value="M205 1024h819v-819h-205v469l-674 -674l-145 145l674 674h-469v205zM1374 1229h469v-205h-819v819h205v-469l674 674l145 -145z" />
|
|
</Style>
|
|
<Style Selector="^:fullscreen /template/ Button#PART_RestoreButton">
|
|
<Setter Property="IsVisible" Value="False" />
|
|
</Style>
|
|
<Style Selector="^:fullscreen /template/ Button#PART_MinimiseButton">
|
|
<Setter Property="IsVisible" Value="False" />
|
|
</Style>
|
|
</ControlTheme>
|
|
</ResourceDictionary>
|
|
|