Compare commits

..

3 Commits

19 changed files with 729 additions and 125 deletions

View File

@@ -0,0 +1,99 @@
<UserControl
x:Class="Semi.Avalonia.Demo.Pages.CommandBarDemo"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="600"
d:DesignWidth="800"
mc:Ignorable="d">
<UserControl.Resources>
<StreamGeometry x:Key="SemiIconShare">
M17.5 2A3.5 3.5 0 1 1 15 7.95l-5.13 3.11a3.5 3.5 0 0 1 .03 1.78l5.22 3.1A3.49 3.49 0 0 1 21 18.5a3.5 3.5 0 1 1-6.9-.85l-5.22-3.08A3.49 3.49 0 0 1 3 12a3.5 3.5 0 0 1 5.8-2.63l5.27-3.19A3.5 3.5 0 0 1 17.5 2Z
</StreamGeometry>
</UserControl.Resources>
<ScrollViewer>
<StackPanel Spacing="16" Margin="0,0,0,16">
<!-- Default: label below icon (Bottom) -->
<HeaderedContentControl Theme="{StaticResource GroupBox}">
<HeaderedContentControl.Header>
<TextBlock Text="CommandBar — Label Position: Bottom (default)" />
</HeaderedContentControl.Header>
<CommandBar>
<AppBarButton Label="New" Icon="{DynamicResource SemiIconPlus}" />
<AppBarButton Label="Save" Icon="{DynamicResource SemiIconSave}" />
<AppBarSeparator />
<AppBarToggleButton Label="Bold" Icon="{DynamicResource SemiIconBold}" />
<AppBarToggleButton Label="Italic" Icon="{DynamicResource SemiIconItalic}" />
<AppBarSeparator />
<AppBarButton Label="Share" Icon="{DynamicResource SemiIconShare}" />
<AppBarButton Label="Export" Icon="{DynamicResource SemiIconExport}" />
<AppBarButton Label="Print" Icon="{DynamicResource SemiIconPrint}" />
<AppBarSeparator />
<AppBarButton Label="Delete" Icon="{DynamicResource SemiIconDelete}" />
</CommandBar>
</HeaderedContentControl>
<!-- LabelPosition=Right -->
<HeaderedContentControl Theme="{StaticResource GroupBox}">
<HeaderedContentControl.Header>
<TextBlock Text="CommandBar — Label Position: Right" />
</HeaderedContentControl.Header>
<CommandBar DefaultLabelPosition="Right">
<AppBarToggleButton Label="Bold" Icon="{DynamicResource SemiIconBold}" />
<AppBarToggleButton Label="Italic" Icon="{DynamicResource SemiIconItalic}" />
<AppBarToggleButton Label="Underline" Icon="{DynamicResource SemiIconUnderline}" />
</CommandBar>
</HeaderedContentControl>
<!-- Compact (icons only) -->
<HeaderedContentControl Theme="{StaticResource GroupBox}">
<HeaderedContentControl.Header>
<TextBlock Text="CommandBar — Compact (icons only)" />
</HeaderedContentControl.Header>
<CommandBar DefaultLabelPosition="Collapsed">
<AppBarToggleButton Label="Bold" Icon="{DynamicResource SemiIconBold}" />
<AppBarToggleButton Label="Italic" Icon="{DynamicResource SemiIconItalic}" />
<AppBarToggleButton Label="Underline" Icon="{DynamicResource SemiIconUnderline}" />
</CommandBar>
</HeaderedContentControl>
<!-- With secondary commands (overflow) -->
<HeaderedContentControl Theme="{StaticResource GroupBox}">
<HeaderedContentControl.Header>
<TextBlock Text="CommandBar — With Secondary Commands (overflow)" />
</HeaderedContentControl.Header>
<CommandBar>
<AppBarButton Label="New" Icon="{DynamicResource SemiIconPlus}" />
<AppBarButton Label="Save" Icon="{DynamicResource SemiIconSave}" />
<AppBarButton Label="Share" Icon="{DynamicResource SemiIconShare}" />
<CommandBar.SecondaryCommands>
<AppBarButton Label="Export" Icon="{DynamicResource SemiIconExport}" />
<AppBarButton Label="Delete" Icon="{DynamicResource SemiIconDelete}" />
</CommandBar.SecondaryCommands>
</CommandBar>
</HeaderedContentControl>
<HeaderedContentControl Theme="{StaticResource GroupBox}">
<HeaderedContentControl.Header>
<StackPanel HorizontalAlignment="Left">
<TextBlock Text="CommandBar — Dynamic Overflow" />
<ToggleSwitch Name="idfe" IsChecked="True" />
<Slider Name="ws" Width="500" Minimum="0" Maximum="500" Value="100" />
</StackPanel>
</HeaderedContentControl.Header>
<CommandBar
IsDynamicOverflowEnabled="{Binding #idfe.IsChecked}"
Width="{Binding #ws.Value}">
<AppBarButton Label="New" Icon="{DynamicResource SemiIconPlus}" />
<AppBarButton Label="Save" Icon="{DynamicResource SemiIconSave}" />
<AppBarButton Label="Share" Icon="{DynamicResource SemiIconShare}" />
<AppBarButton Label="Export" Icon="{DynamicResource SemiIconExport}" />
<AppBarButton Label="Delete" Icon="{DynamicResource SemiIconDelete}" />
</CommandBar>
</HeaderedContentControl>
</StackPanel>
</ScrollViewer>
</UserControl>

View File

@@ -0,0 +1,11 @@
using Avalonia.Controls;
namespace Semi.Avalonia.Demo.Pages;
public partial class CommandBarDemo : UserControl
{
public CommandBarDemo()
{
InitializeComponent();
}
}

View File

@@ -269,6 +269,9 @@
<TabItem
Theme="{DynamicResource CategoryTabItem}"
Header="Other" />
<TabItem Header="CommandBar">
<pages:CommandBarDemo />
</TabItem>
<TabItem Header="GridSplitter">
<pages:GridSplitterDemo />
</TabItem>

View File

@@ -5,10 +5,12 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:views="clr-namespace:Semi.Avalonia.Demo.Views"
Title="Semi.Avalonia.Demo"
Title="Semi Avalonia Demo"
d:DesignHeight="450"
d:DesignWidth="800"
ExtendClientAreaToDecorationsHint="True"
ExtendClientAreaTitleBarHeightHint="40"
Icon="/Assets/irihi.ico"
mc:Ignorable="d">
<views:MainView />
<views:MainView Margin="{Binding $parent[Window].WindowDecorationMargin}" />
</Window>

View File

@@ -0,0 +1,406 @@
<ResourceDictionary
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Design.PreviewWith>
<Border Padding="16" Width="600" Background="{DynamicResource SemiColorBackground0}">
<StackPanel Spacing="16">
<CommandBar>
<AppBarButton Label="New" Icon="{DynamicResource SemiIconPlus}" />
<AppBarButton Label="Save" Icon="{DynamicResource SemiIconSave}" />
<AppBarSeparator />
<AppBarToggleButton Label="Bold" Icon="{DynamicResource SemiIconBold}" />
<AppBarButton Label="Copy" IsEnabled="False" Icon="{DynamicResource SemiIconCopy}" />
</CommandBar>
</StackPanel>
</Border>
</Design.PreviewWith>
<!-- AppBarButton -->
<ControlTheme x:Key="{x:Type AppBarButton}" TargetType="AppBarButton">
<Setter Property="Background" Value="{DynamicResource AppBarButtonBackground}" />
<Setter Property="Foreground" Value="{DynamicResource AppBarButtonForeground}" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Padding" Value="{DynamicResource AppBarButtonPadding}" />
<Setter Property="Width" Value="{DynamicResource AppBarButtonWidth}" />
<Setter Property="MinHeight" Value="{DynamicResource AppBarButtonMinHeight}" />
<Setter Property="CornerRadius" Value="{DynamicResource AppBarButtonCornerRadius}" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="Template">
<ControlTemplate TargetType="AppBarButton">
<Border
Name="PART_Border"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding CornerRadius}"
Padding="{TemplateBinding Padding}">
<StackPanel
Name="PART_LayoutRoot"
Spacing="4"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<ContentPresenter
Name="PART_IconPresenter"
Content="{TemplateBinding Icon}"
Foreground="{TemplateBinding Foreground}"
Width="{DynamicResource AppBarButtonIconSize}"
Height="{DynamicResource AppBarButtonIconSize}"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<ContentPresenter.DataTemplates>
<DataTemplate DataType="Geometry">
<PathIcon
Theme="{DynamicResource InnerPathIcon}"
Data="{Binding}" />
</DataTemplate>
</ContentPresenter.DataTemplates>
</ContentPresenter>
<TextBlock
Name="PART_Label"
Text="{TemplateBinding Label}"
Foreground="{TemplateBinding Foreground}"
FontSize="{DynamicResource AppBarButtonLabelFontSize}"
HorizontalAlignment="Center"
TextTrimming="CharacterEllipsis" />
</StackPanel>
</Border>
</ControlTemplate>
</Setter>
<!-- Pointer over -->
<Style Selector="^:pointerover /template/ Border#PART_Border">
<Setter Property="Background" Value="{DynamicResource AppBarButtonPointeroverBackground}" />
</Style>
<!-- Pressed -->
<Style Selector="^:pressed /template/ Border#PART_Border">
<Setter Property="Background" Value="{DynamicResource AppBarButtonPressedBackground}" />
</Style>
<!-- Disabled -->
<Style Selector="^:disabled /template/ ContentPresenter#PART_IconPresenter">
<Setter Property="Foreground" Value="{DynamicResource AppBarButtonDisabledForeground}" />
</Style>
<Style Selector="^:disabled /template/ TextBlock#PART_Label">
<Setter Property="Foreground" Value="{DynamicResource AppBarButtonDisabledForeground}" />
</Style>
<!-- IsCompact: hide label, use compact width -->
<Style Selector="^[IsCompact=True]">
<Setter Property="Width" Value="{DynamicResource AppBarButtonCompactWidth}" />
</Style>
<Style Selector="^[IsCompact=True] /template/ TextBlock#PART_Label">
<Setter Property="IsVisible" Value="False" />
</Style>
<!-- LabelPosition=Collapsed: hide label, use compact width -->
<Style Selector="^[LabelPosition=Collapsed]">
<Setter Property="Width" Value="{DynamicResource AppBarButtonCompactWidth}" />
</Style>
<Style Selector="^[LabelPosition=Collapsed] /template/ TextBlock#PART_Label">
<Setter Property="IsVisible" Value="False" />
</Style>
<!-- LabelPosition=Right: horizontal layout, auto-width -->
<Style Selector="^[LabelPosition=Right]">
<Setter Property="Width" Value="{x:Static x:Double.NaN}" />
<Setter Property="MinWidth" Value="{DynamicResource AppBarButtonCompactWidth}" />
</Style>
<Style Selector="^[LabelPosition=Right] /template/ StackPanel#PART_LayoutRoot">
<Setter Property="Orientation" Value="Horizontal" />
</Style>
<Style Selector="^[LabelPosition=Right] /template/ ContentPresenter#PART_IconPresenter">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style Selector="^[LabelPosition=Right] /template/ TextBlock#PART_Label">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<!-- IsInOverflow: full-width horizontal layout for use inside overflow popup -->
<Style Selector="^[IsInOverflow=True]">
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Setter Property="Width" Value="{x:Static x:Double.NaN}" />
<Setter Property="MinHeight" Value="{DynamicResource AppBarButtonOverflowMinHeight}" />
<Setter Property="Padding" Value="{DynamicResource AppBarButtonOverflowPadding}" />
</Style>
<Style Selector="^[IsInOverflow=True] /template/ StackPanel#PART_LayoutRoot">
<Setter Property="Orientation" Value="Horizontal" />
</Style>
<Style Selector="^[IsInOverflow=True] /template/ ContentPresenter#PART_IconPresenter">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style Selector="^[IsInOverflow=True] /template/ TextBlock#PART_Label">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</ControlTheme>
<!-- AppBarToggleButton -->
<ControlTheme x:Key="{x:Type AppBarToggleButton}" TargetType="AppBarToggleButton">
<Setter Property="Background" Value="{DynamicResource AppBarButtonBackground}" />
<Setter Property="Foreground" Value="{DynamicResource AppBarButtonForeground}" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Padding" Value="{DynamicResource AppBarButtonPadding}" />
<Setter Property="Width" Value="{DynamicResource AppBarButtonWidth}" />
<Setter Property="MinHeight" Value="{DynamicResource AppBarButtonMinHeight}" />
<Setter Property="CornerRadius" Value="{DynamicResource AppBarButtonCornerRadius}" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="Template">
<ControlTemplate TargetType="AppBarToggleButton">
<Border
Name="PART_Border"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding CornerRadius}"
Padding="{TemplateBinding Padding}">
<StackPanel
Name="PART_LayoutRoot"
Spacing="4"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<ContentPresenter
Name="PART_IconPresenter"
Content="{TemplateBinding Icon}"
Foreground="{TemplateBinding Foreground}"
Width="{DynamicResource AppBarButtonIconSize}"
Height="{DynamicResource AppBarButtonIconSize}"
HorizontalAlignment="Center"
VerticalAlignment="Center">
<ContentPresenter.DataTemplates>
<DataTemplate DataType="Geometry">
<PathIcon
Theme="{DynamicResource InnerPathIcon}"
Data="{Binding}" />
</DataTemplate>
</ContentPresenter.DataTemplates>
</ContentPresenter>
<TextBlock
Name="PART_Label"
Text="{TemplateBinding Label}"
Foreground="{TemplateBinding Foreground}"
FontSize="{DynamicResource AppBarButtonLabelFontSize}"
HorizontalAlignment="Center"
TextTrimming="CharacterEllipsis" />
</StackPanel>
</Border>
</ControlTemplate>
</Setter>
<!-- Pointer over -->
<Style Selector="^:pointerover /template/ Border#PART_Border">
<Setter Property="Background" Value="{DynamicResource AppBarButtonPointeroverBackground}" />
</Style>
<!-- Pressed -->
<Style Selector="^:pressed /template/ Border#PART_Border">
<Setter Property="Background" Value="{DynamicResource AppBarButtonPressedBackground}" />
</Style>
<!-- Checked -->
<Style Selector="^:checked /template/ Border#PART_Border">
<Setter Property="Background" Value="{DynamicResource AppBarToggleButtonCheckedBackground}" />
</Style>
<Style Selector="^:checked /template/ ContentPresenter#PART_IconPresenter">
<Setter Property="Foreground" Value="{DynamicResource AppBarToggleButtonCheckedForeground}" />
</Style>
<Style Selector="^:checked /template/ TextBlock#PART_Label">
<Setter Property="Foreground" Value="{DynamicResource AppBarToggleButtonCheckedForeground}" />
</Style>
<!-- Checked + Pointer over -->
<Style Selector="^:checked:pointerover /template/ Border#PART_Border">
<Setter Property="Background" Value="{DynamicResource AppBarToggleButtonCheckedPointeroverBackground}" />
</Style>
<!-- Disabled -->
<Style Selector="^:disabled /template/ ContentPresenter#PART_IconPresenter">
<Setter Property="Foreground" Value="{DynamicResource AppBarButtonDisabledForeground}" />
</Style>
<Style Selector="^:disabled /template/ TextBlock#PART_Label">
<Setter Property="Foreground" Value="{DynamicResource AppBarButtonDisabledForeground}" />
</Style>
<!-- IsCompact: hide label, use compact width -->
<Style Selector="^[IsCompact=True]">
<Setter Property="Width" Value="{DynamicResource AppBarButtonCompactWidth}" />
</Style>
<Style Selector="^[IsCompact=True] /template/ TextBlock#PART_Label">
<Setter Property="IsVisible" Value="False" />
</Style>
<!-- LabelPosition=Collapsed: hide label, use compact width -->
<Style Selector="^[LabelPosition=Collapsed]">
<Setter Property="Width" Value="{DynamicResource AppBarButtonCompactWidth}" />
</Style>
<Style Selector="^[LabelPosition=Collapsed] /template/ TextBlock#PART_Label">
<Setter Property="IsVisible" Value="False" />
</Style>
<!-- LabelPosition=Right: horizontal layout, auto-width -->
<Style Selector="^[LabelPosition=Right]">
<Setter Property="Width" Value="{x:Static x:Double.NaN}" />
<Setter Property="MinWidth" Value="{DynamicResource AppBarButtonCompactWidth}" />
</Style>
<Style Selector="^[LabelPosition=Right] /template/ StackPanel#PART_LayoutRoot">
<Setter Property="Orientation" Value="Horizontal" />
</Style>
<Style Selector="^[LabelPosition=Right] /template/ ContentPresenter#PART_IconPresenter">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style Selector="^[LabelPosition=Right] /template/ TextBlock#PART_Label">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<!-- IsInOverflow: full-width horizontal layout -->
<Style Selector="^[IsInOverflow=True]">
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Setter Property="Width" Value="{x:Static x:Double.NaN}" />
<Setter Property="MinHeight" Value="{DynamicResource AppBarButtonOverflowMinHeight}" />
<Setter Property="Padding" Value="{DynamicResource AppBarButtonOverflowPadding}" />
</Style>
<Style Selector="^[IsInOverflow=True] /template/ StackPanel#PART_LayoutRoot">
<Setter Property="Orientation" Value="Horizontal" />
</Style>
<Style Selector="^[IsInOverflow=True] /template/ ContentPresenter#PART_IconPresenter">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style Selector="^[IsInOverflow=True] /template/ TextBlock#PART_Label">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</ControlTheme>
<!-- AppBarSeparator -->
<ControlTheme x:Key="{x:Type AppBarSeparator}" TargetType="AppBarSeparator">
<Setter Property="Background" Value="{DynamicResource AppBarSeparatorBackground}" />
<Setter Property="Width" Value="{DynamicResource AppBarSeparatorWidth}" />
<Setter Property="MinHeight" Value="{DynamicResource AppBarSeparatorMinHeight}" />
<Setter Property="Margin" Value="{DynamicResource AppBarSeparatorMargin}" />
<Setter Property="Template">
<ControlTemplate TargetType="AppBarSeparator">
<Border
Background="{TemplateBinding Background}"
Width="{TemplateBinding Width}"
MinHeight="{TemplateBinding MinHeight}" />
</ControlTemplate>
</Setter>
<!-- IsInOverflow: horizontal line separator -->
<Style Selector="^[IsInOverflow=True]">
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="Width" Value="{x:Static x:Double.NaN}" />
<Setter Property="Height" Value="{DynamicResource AppBarSeparatorOverflowHeight}" />
<Setter Property="MinHeight" Value="0" />
<Setter Property="Margin" Value="{DynamicResource AppBarSeparatorOverflowMargin}" />
</Style>
</ControlTheme>
<!-- CommandBar -->
<ControlTheme x:Key="{x:Type CommandBar}" TargetType="CommandBar">
<Setter Property="Background" Value="{DynamicResource CommandBarBackground}" />
<Setter Property="Foreground" Value="{DynamicResource CommandBarForeground}" />
<Setter Property="BorderBrush" Value="{DynamicResource CommandBarBorderBrush}" />
<Setter Property="BorderThickness" Value="{DynamicResource CommandBarBorderThickness}" />
<Setter Property="CornerRadius" Value="{DynamicResource CommandBarCornerRadius}" />
<Setter Property="MinHeight" Value="{DynamicResource CommandBarMinHeight}" />
<Setter Property="Padding" Value="{DynamicResource CommandBarPadding}" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="Template">
<ControlTemplate TargetType="CommandBar">
<Border
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding CornerRadius}"
MinHeight="{TemplateBinding MinHeight}"
Padding="{TemplateBinding Padding}">
<Panel>
<DockPanel>
<!-- Overflow button (docked right) -->
<Button
Name="PART_OverflowButton"
DockPanel.Dock="Right"
Theme="{DynamicResource AppBarOverflowButton}"
IsVisible="{TemplateBinding IsOverflowButtonVisible}"
VerticalAlignment="Stretch">
<PathIcon
Width="{DynamicResource AppBarButtonIconSize}"
Height="{DynamicResource AppBarButtonIconSize}"
Foreground="{TemplateBinding Foreground}"
Data="{DynamicResource CommandBarOverflowButtonGlyph}" />
</Button>
<!-- Custom content (docked left) -->
<ContentPresenter
Name="PART_ContentPresenter"
DockPanel.Dock="Left"
Content="{TemplateBinding Content}"
VerticalAlignment="Center" />
<!-- Primary commands (fills remaining space, right-aligned) -->
<ItemsControl
Name="PART_PrimaryCommands"
ItemsSource="{Binding VisiblePrimaryCommands, RelativeSource={RelativeSource TemplatedParent}}"
HorizontalAlignment="Right"
VerticalAlignment="Stretch"
ClipToBounds="True">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" Spacing="2" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DockPanel>
<!-- Overflow popup -->
<Popup
Name="PART_OverflowPopup"
IsOpen="{TemplateBinding IsOpen, Mode=TwoWay}"
PlacementTarget="{Binding #PART_OverflowButton}"
Placement="Bottom"
IsLightDismissEnabled="True"
WindowManagerAddShadowHint="False">
<Border
Background="{DynamicResource CommandBarOverflowBackground}"
BorderBrush="{DynamicResource CommandBarOverflowBorderBrush}"
BorderThickness="{DynamicResource CommandBarBorderThickness}"
BoxShadow="{DynamicResource CommandBarOverflowBoxShadow}"
CornerRadius="{DynamicResource CommandBarOverflowCornerRadius}"
Padding="{DynamicResource CommandBarOverflowPadding}"
MinWidth="{DynamicResource CommandBarOverflowMinWidth}">
<ItemsControl
ItemsSource="{Binding OverflowItems, RelativeSource={RelativeSource TemplatedParent}}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Spacing="2" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Border>
</Popup>
</Panel>
</Border>
</ControlTemplate>
</Setter>
</ControlTheme>
<!-- Overflow button inner theme (borderless, transparent) -->
<ControlTheme x:Key="AppBarOverflowButton" TargetType="Button"
BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="Background" Value="Transparent" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="Padding" Value="{DynamicResource AppBarButtonPadding}" />
<Setter Property="MinWidth" Value="{DynamicResource AppBarButtonCompactWidth}" />
<Setter Property="CornerRadius" Value="{DynamicResource AppBarButtonCornerRadius}" />
</ControlTheme>
</ResourceDictionary>

View File

@@ -1,5 +1,4 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ControlTheme x:Key="CaptionButton" TargetType="Button">
<Setter Property="Foreground" Value="{DynamicResource CaptionButtonForeground}" />
@@ -10,19 +9,18 @@
<Setter Property="Height" Value="{StaticResource CaptionButtonHeight}" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="VerticalAlignment" Value="Stretch" />
<Setter Property="WindowDecorationProperties.ElementRole" Value="DecorationsElement" />
<Setter Property="Template">
<ControlTemplate TargetType="Button">
<ContentPresenter
Name="PART_ContentPresenter"
Padding="{TemplateBinding Padding}"
Foreground="{TemplateBinding Foreground}"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"
CornerRadius="{TemplateBinding CornerRadius}" />
CornerRadius="{TemplateBinding CornerRadius}"
Foreground="{TemplateBinding Foreground}" />
</ControlTemplate>
</Setter>
@@ -38,181 +36,171 @@
<ControlTheme x:Key="{x:Type WindowDrawnDecorations}" TargetType="WindowDrawnDecorations">
<Setter Property="DefaultTitleBarHeight" Value="32" />
<Setter Property="DefaultFrameThickness" Value="1" />
<Setter Property="DefaultShadowThickness" Value="8" />
<Setter Property="DefaultShadowThickness" Value="16" />
<Setter Property="Template">
<WindowDrawnDecorationsTemplate>
<WindowDrawnDecorationsContent>
<WindowDrawnDecorationsContent.Underlay>
<Panel Name="PART_UnderlayWrapper">
<Border Name="PART_WindowBorder"
Background="{DynamicResource SystemControlBackgroundAltHighBrush}"
BorderThickness="{TemplateBinding FrameThickness}"
BorderBrush="{DynamicResource SystemControlForegroundBaseMediumBrush}"
IsHitTestVisible="False" />
<!-- Full-size: covers shadow area + frame + behind client area -->
<Panel>
<Border
x:Name="PART_WindowBorder"
Margin="{TemplateBinding ShadowThickness}"
Background="{DynamicResource WindowBackground}"
BorderBrush="{DynamicResource WindowBorderBrush}"
BorderThickness="1"
BoxShadow="0 8 32 0 #40000000" />
<!-- Titlebar: background, title text, and drag area live in underlay -->
<Panel Name="PART_TitleBar" VerticalAlignment="Top"
<Panel x:Name="PART_TitleBar" VerticalAlignment="Top"
Height="{TemplateBinding TitleBarHeight}"
Background="{DynamicResource SystemControlBackgroundAltHighBrush}"
IsVisible="{TemplateBinding HasTitleBar}"
WindowDecorationProperties.ElementRole="TitleBar" />
</Panel>
</WindowDrawnDecorationsContent.Underlay>
<WindowDrawnDecorationsContent.Overlay>
<!-- Overlay: only interactive caption buttons -->
<Panel Name="PART_OverlayWrapper">
<!-- Title text lives in overlay so it renders above client content -->
<Panel Name="PART_TitleTextPanel" VerticalAlignment="Top"
Height="{TemplateBinding TitleBarHeight}"
IsHitTestVisible="False"
IsVisible="{TemplateBinding HasTitleBar}">
<TextBlock Text="{TemplateBinding Title}"
VerticalAlignment="Center"
Margin="12,0,0,0"
FontSize="12" />
<!-- Positioned over the titlebar area -->
<Panel x:Name="PART_OverlayWrapper">
<!-- Title text lives in overlay so it renders above client content -->
<Panel
x:Name="PART_TitleTextPanel"
Height="{TemplateBinding TitleBarHeight}"
VerticalAlignment="Top"
IsHitTestVisible="False"
IsVisible="{TemplateBinding HasTitleBar}">
<TextBlock
Margin="12,0,0,0"
VerticalAlignment="Center"
FontSize="12"
Text="{TemplateBinding Title}" />
</Panel>
<StackPanel Name="PART_OverlayPanel"
VerticalAlignment="Top"
HorizontalAlignment="Right"
Height="{TemplateBinding TitleBarHeight}"
IsVisible="{TemplateBinding HasTitleBar}"
Orientation="Horizontal"
Spacing="2"
TextElement.FontSize="10">
<StackPanel
x:Name="PART_OverlayPanel"
Height="{TemplateBinding TitleBarHeight}"
HorizontalAlignment="Right"
VerticalAlignment="Top"
IsVisible="{TemplateBinding HasTitleBar}"
Orientation="Horizontal"
Spacing="2"
TextElement.FontSize="10">
<Button
Name="PART_FullScreenButton"
Theme="{StaticResource CaptionButton}"
WindowDecorationProperties.ElementRole="FullScreenButton">
<PathIcon
Name="PART_FullScreenButtonIcon"
Theme="{StaticResource InnerPathIcon}"
Data="{StaticResource WindowExpandGlyph}"
Foreground="{Binding $parent[Button].Foreground}" />
Foreground="{Binding $parent[Button].Foreground}"
Theme="{StaticResource InnerPathIcon}" />
</Button>
<Button
Name="PART_MinimizeButton"
AutomationProperties.Name="Minimize"
Theme="{StaticResource CaptionButton}"
WindowDecorationProperties.ElementRole="MinimizeButton">
<PathIcon
Name="PART_MinimizeButtonIcon"
Theme="{StaticResource InnerPathIcon}"
Data="{StaticResource WindowMinimizeGlyph}"
Foreground="{Binding $parent[Button].Foreground}" />
Foreground="{Binding $parent[Button].Foreground}"
Theme="{StaticResource InnerPathIcon}" />
</Button>
<Button
Name="PART_MaximizeButton"
AutomationProperties.Name="Maximize"
Theme="{StaticResource CaptionButton}"
WindowDecorationProperties.ElementRole="MaximizeButton">
<PathIcon
Name="PART_MaximizeButtonIcon"
Theme="{StaticResource InnerPathIcon}"
Data="{StaticResource WindowMaximizeGlyph}"
Foreground="{Binding $parent[Button].Foreground}" />
Foreground="{Binding $parent[Button].Foreground}"
Theme="{StaticResource InnerPathIcon}" />
</Button>
<Button
Name="PART_CloseButton"
AutomationProperties.Name="Close"
Theme="{StaticResource CaptionButton}"
WindowDecorationProperties.ElementRole="CloseButton">
<PathIcon
Name="PART_CloseButtonIcon"
Theme="{StaticResource InnerPathIcon}"
Data="{StaticResource WindowCloseIconGlyph}"
Foreground="{Binding $parent[Button].Foreground}" />
Foreground="{Binding $parent[Button].Foreground}"
Theme="{StaticResource InnerPathIcon}" />
</Button>
</StackPanel>
</Panel>
</WindowDrawnDecorationsContent.Overlay>
<WindowDrawnDecorationsContent.FullscreenPopover>
<Panel Height="{TemplateBinding DefaultTitleBarHeight}"
VerticalAlignment="Top"
Background="{DynamicResource SystemControlBackgroundChromeMediumLowBrush}"
WindowDecorationProperties.ElementRole="TitleBar">
<TextBlock Text="{TemplateBinding Title}"
VerticalAlignment="Center"
Margin="12,0,0,0"
FontSize="12" />
<StackPanel HorizontalAlignment="Right"
Orientation="Horizontal"
Spacing="2"
TextElement.FontSize="10">
<Button Name="PART_PopoverFullScreenButton"
Theme="{StaticResource CaptionButton}"
WindowDecorationProperties.ElementRole="FullScreenButton">
<!-- Shown on hover at top edge in fullscreen -->
<DockPanel Height="{TemplateBinding TitleBarHeight}" Background="#E0000000">
<StackPanel DockPanel.Dock="Right" Orientation="Horizontal">
<Button
x:Name="PART_PopoverFullScreenButton"
Theme="{StaticResource CaptionButton}"
WindowDecorationProperties.ElementRole="FullScreenButton">
<PathIcon
Name="PART_PopoverFullScreenButtonIcon"
Theme="{StaticResource InnerPathIcon}"
Data="{StaticResource WindowCollapseGlyph}"
Foreground="{Binding $parent[Button].Foreground}" />
</Button>
<Button Name="PART_PopoverCloseButton"
Theme="{StaticResource CaptionButton}"
WindowDecorationProperties.ElementRole="CloseButton">
<PathIcon
Name="PART_PopoverCloseButtonIcon"
Theme="{StaticResource InnerPathIcon}"
Data="{StaticResource WindowCloseIconGlyph}"
Foreground="{Binding $parent[Button].Foreground}" />
Foreground="{Binding $parent[Button].Foreground}"
Theme="{StaticResource InnerPathIcon}" />
</Button>
</StackPanel>
</Panel>
<TextBlock
Margin="12,0"
VerticalAlignment="Center"
Foreground="White"
Text="{TemplateBinding Title}" />
</DockPanel>
</WindowDrawnDecorationsContent.FullscreenPopover>
</WindowDrawnDecorationsContent>
</WindowDrawnDecorationsTemplate>
</Setter>
<!-- Shadow: inset border and add drop shadow -->
<Style Selector="^:has-shadow">
<Style Selector="^ /template/ Panel#PART_UnderlayWrapper">
<Setter Property="Margin" Value="{TemplateBinding ShadowThickness}" />
</Style>
<Style Selector="^ /template/ Border#PART_WindowBorder">
<Setter Property="BoxShadow" Value="{DynamicResource WindowBorderShadow}" />
</Style>
<Style Selector="^ /template/ Panel#PART_OverlayWrapper">
<Setter Property="Margin" Value="{TemplateBinding ShadowThickness}" />
</Style>
<Style Selector="^ /template/ Button#PART_CloseButton:pointerover">
<Setter Property="Foreground" Value="{DynamicResource CaptionButtonCloseForeground}" />
<Setter Property="Background" Value="{DynamicResource CaptionButtonClosePointeroverBackground}" />
</Style>
<!-- Border: inset titlebar and buttons inside frame -->
<Style Selector="^:has-border">
<Style Selector="^ /template/ Panel#PART_TitleTextPanel">
<Setter Property="Margin" Value="1,1,1,0" />
</Style>
<Style Selector="^ /template/ Panel#PART_TitleBar">
<Setter Property="Margin" Value="1,1,1,0" />
</Style>
<Style Selector="^ /template/ StackPanel#PART_OverlayPanel">
<Setter Property="Margin" Value="0,1,1,0" />
</Style>
<Style Selector="^ /template/ Button#PART_CloseButton:pressed">
<Setter Property="Foreground" Value="{DynamicResource CaptionButtonCloseForeground}" />
<Setter Property="Background" Value="{DynamicResource CaptionButtonClosePressedBackground}" />
</Style>
<!-- Fullscreen: hide overlay and titlebar (popover takes over) -->
<Style Selector="^:fullscreen">
<Style Selector="^ /template/ Panel#PART_TitleTextPanel">
<Setter Property="IsVisible" Value="False" />
</Style>
<Style Selector="^ /template/ StackPanel#PART_OverlayPanel">
<Setter Property="IsVisible" Value="False" />
</Style>
<Style Selector="^ /template/ Panel#PART_TitleBar">
<Setter Property="IsVisible" Value="False" />
</Style>
<Style Selector="^ /template/ PathIcon#PART_FullScreenButtonIcon">
<Setter Property="Data" Value="{StaticResource WindowCollapseGlyph}" />
</Style>
<!-- Shadow: inset border and add drop shadow -->
<Style Selector="^:has-shadow /template/ Panel#PART_UnderlayWrapper">
<Setter Property="Margin" Value="{TemplateBinding ShadowThickness}" />
</Style>
<Style Selector="^:maximized /template/ PathIcon#PART_MaximizeButtonIcon">
<Style Selector="^:has-shadow /template/ Border#PART_WindowBorder">
<Setter Property="BoxShadow" Value="0 2 10 2 #80000000" />
</Style>
<Style Selector="^:has-shadow /template/ Panel#PART_OverlayWrapper">
<Setter Property="Margin" Value="{TemplateBinding ShadowThickness}" />
</Style>
<!-- Maximized: restore button path changes -->
<Style Selector="^:maximized /template/ Path#PART_MaximizeButtonIcon">
<Setter Property="Data" Value="{StaticResource WindowRestoreGlyph}" />
</Style>
<Style Selector="^ /template/ Button:disabled">
<Setter Property="Opacity" Value="0.2" />
<!-- Border: inset titlebar and buttons inside frame -->
<Style Selector="^:has-border /template/ Panel#PART_TitleTextPanel">
<Setter Property="Margin" Value="1,1,1,0" />
</Style>
<Style Selector="^:has-border /template/ Panel#PART_TitleBar">
<Setter Property="Margin" Value="1,1,1,0" />
</Style>
<Style Selector="^:has-border /template/ StackPanel#PART_OverlayPanel">
<Setter Property="Margin" Value="0,1,1,0" />
</Style>
<!-- Fullscreen: hide overlay and titlebar (popover takes over) -->
<Style Selector="^:fullscreen /template/ Panel#PART_TitleTextPanel">
<Setter Property="IsVisible" Value="False" />
</Style>
<Style Selector="^:fullscreen /template/ StackPanel#PART_OverlayPanel">
<Setter Property="IsVisible" Value="False" />
</Style>
<Style Selector="^:fullscreen /template/ Panel#PART_TitleBar">
<Setter Property="IsVisible" Value="False" />
</Style>
</ControlTheme>
</ResourceDictionary>

View File

@@ -12,6 +12,7 @@
<ResourceInclude Source="Carousel.axaml" />
<ResourceInclude Source="CheckBox.axaml" />
<ResourceInclude Source="ComboBox.axaml" />
<ResourceInclude Source="CommandBar.axaml" />
<ResourceInclude Source="ContextMenu.axaml" />
<ResourceInclude Source="DataValidationErrors.axaml" />
<ResourceInclude Source="DatePicker.axaml" />

View File

@@ -1,6 +1,4 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StaticResource x:Key="WindowBorderShadow" ResourceKey="SemiShadowElevated"/>
<StaticResource x:Key="CaptionButtonPointeroverBackground" ResourceKey="SemiColorFill1" />
<StaticResource x:Key="CaptionButtonPressedBackground" ResourceKey="SemiColorFill2" />
<StaticResource x:Key="CaptionButtonCloseForeground" ResourceKey="SemiColorWhite" />

View File

@@ -0,0 +1,22 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- AppBarButton / AppBarToggleButton -->
<SolidColorBrush x:Key="AppBarButtonBackground" Color="Transparent" />
<StaticResource x:Key="AppBarButtonForeground" ResourceKey="SemiColorText0" />
<StaticResource x:Key="AppBarButtonPointeroverBackground" ResourceKey="SemiColorFill0" />
<StaticResource x:Key="AppBarButtonPressedBackground" ResourceKey="SemiColorFill1" />
<StaticResource x:Key="AppBarButtonDisabledForeground" ResourceKey="SemiColorDisabledText" />
<!-- AppBarToggleButton checked state -->
<StaticResource x:Key="AppBarToggleButtonCheckedForeground" ResourceKey="SemiColorPrimary" />
<StaticResource x:Key="AppBarToggleButtonCheckedBackground" ResourceKey="SemiColorPrimaryLight" />
<StaticResource x:Key="AppBarToggleButtonCheckedPointeroverBackground" ResourceKey="SemiColorPrimaryLightPointerover" />
<!-- AppBarSeparator -->
<StaticResource x:Key="AppBarSeparatorBackground" ResourceKey="SemiColorBorder" />
<!-- CommandBar -->
<StaticResource x:Key="CommandBarBackground" ResourceKey="SemiColorBackground1" />
<StaticResource x:Key="CommandBarForeground" ResourceKey="SemiColorText0" />
<StaticResource x:Key="CommandBarBorderBrush" ResourceKey="SemiColorBorder" />
<!-- CommandBar overflow popup -->
<StaticResource x:Key="CommandBarOverflowBackground" ResourceKey="SemiColorBackground3" />
<StaticResource x:Key="CommandBarOverflowBorderBrush" ResourceKey="SemiColorBorder" />
<StaticResource x:Key="CommandBarOverflowBoxShadow" ResourceKey="SemiShadowElevated" />
</ResourceDictionary>

View File

@@ -7,9 +7,11 @@
<ResourceInclude Source="ButtonSpinner.axaml" />
<ResourceInclude Source="Calendar.axaml" />
<ResourceInclude Source="CalendarDatePicker.axaml" />
<ResourceInclude Source="CaptionButtons.axaml" />
<ResourceInclude Source="Carousel.axaml" />
<ResourceInclude Source="CheckBox.axaml" />
<ResourceInclude Source="ComboBox.axaml" />
<ResourceInclude Source="CommandBar.axaml" />
<ResourceInclude Source="DataValidationErrors.axaml" />
<ResourceInclude Source="DatePicker.axaml" />
<ResourceInclude Source="DateTimePickerShared.axaml" />
@@ -42,6 +44,5 @@
<ResourceInclude Source="Tooltip.axaml" />
<ResourceInclude Source="TreeView.axaml" />
<ResourceInclude Source="Window.axaml" />
<ResourceInclude Source="WindowDrawnDecorations.axaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

View File

@@ -0,0 +1,21 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- AppBarButton / AppBarToggleButton -->
<SolidColorBrush x:Key="AppBarButtonBackground" Color="Transparent" />
<StaticResource x:Key="AppBarButtonForeground" ResourceKey="SemiColorWindowText" />
<StaticResource x:Key="AppBarButtonPointeroverBackground" ResourceKey="SemiColorHighlight" />
<StaticResource x:Key="AppBarButtonPressedBackground" ResourceKey="SemiColorHighlight" />
<StaticResource x:Key="AppBarButtonDisabledForeground" ResourceKey="SemiColorGrayText" />
<!-- AppBarToggleButton checked state -->
<StaticResource x:Key="AppBarToggleButtonCheckedForeground" ResourceKey="SemiColorHighlightText" />
<StaticResource x:Key="AppBarToggleButtonCheckedBackground" ResourceKey="SemiColorHighlight" />
<StaticResource x:Key="AppBarToggleButtonCheckedPointeroverBackground" ResourceKey="SemiColorButtonText" />
<!-- AppBarSeparator -->
<StaticResource x:Key="AppBarSeparatorBackground" ResourceKey="SemiColorWindowText" />
<!-- CommandBar -->
<StaticResource x:Key="CommandBarBackground" ResourceKey="SemiColorWindow" />
<StaticResource x:Key="CommandBarForeground" ResourceKey="SemiColorWindowText" />
<StaticResource x:Key="CommandBarBorderBrush" ResourceKey="SemiColorWindowText" />
<!-- CommandBar overflow popup -->
<StaticResource x:Key="CommandBarOverflowBackground" ResourceKey="SemiColorWindow" />
<StaticResource x:Key="CommandBarOverflowBorderBrush" ResourceKey="SemiColorWindowText" />
</ResourceDictionary>

View File

@@ -7,9 +7,11 @@
<ResourceInclude Source="ButtonSpinner.axaml" />
<ResourceInclude Source="Calendar.axaml" />
<ResourceInclude Source="CalendarDatePicker.axaml" />
<ResourceInclude Source="CaptionButtons.axaml" />
<ResourceInclude Source="Carousel.axaml" />
<ResourceInclude Source="CheckBox.axaml" />
<ResourceInclude Source="ComboBox.axaml" />
<ResourceInclude Source="CommandBar.axaml" />
<ResourceInclude Source="DataValidationErrors.axaml" />
<ResourceInclude Source="DatePicker.axaml" />
<ResourceInclude Source="DateTimePickerShared.axaml" />
@@ -42,6 +44,5 @@
<ResourceInclude Source="Tooltip.axaml" />
<ResourceInclude Source="TreeView.axaml" />
<ResourceInclude Source="Window.axaml" />
<ResourceInclude Source="WindowDrawnDecorations.axaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

View File

@@ -1,6 +1,4 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<StaticResource x:Key="WindowBorderShadow" ResourceKey="SemiShadowElevated"/>
<StaticResource x:Key="CaptionButtonPointeroverBackground" ResourceKey="SemiColorFill1" />
<StaticResource x:Key="CaptionButtonPressedBackground" ResourceKey="SemiColorFill2" />
<StaticResource x:Key="CaptionButtonCloseForeground" ResourceKey="SemiColorWhite" />

View File

@@ -0,0 +1,22 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- AppBarButton / AppBarToggleButton -->
<SolidColorBrush x:Key="AppBarButtonBackground" Color="Transparent" />
<StaticResource x:Key="AppBarButtonForeground" ResourceKey="SemiColorText0" />
<StaticResource x:Key="AppBarButtonPointeroverBackground" ResourceKey="SemiColorFill0" />
<StaticResource x:Key="AppBarButtonPressedBackground" ResourceKey="SemiColorFill1" />
<StaticResource x:Key="AppBarButtonDisabledForeground" ResourceKey="SemiColorDisabledText" />
<!-- AppBarToggleButton checked state -->
<StaticResource x:Key="AppBarToggleButtonCheckedForeground" ResourceKey="SemiColorPrimary" />
<StaticResource x:Key="AppBarToggleButtonCheckedBackground" ResourceKey="SemiColorPrimaryLight" />
<StaticResource x:Key="AppBarToggleButtonCheckedPointeroverBackground" ResourceKey="SemiColorPrimaryLightPointerover" />
<!-- AppBarSeparator -->
<StaticResource x:Key="AppBarSeparatorBackground" ResourceKey="SemiColorBorder" />
<!-- CommandBar -->
<StaticResource x:Key="CommandBarBackground" ResourceKey="SemiColorBackground1" />
<StaticResource x:Key="CommandBarForeground" ResourceKey="SemiColorText0" />
<StaticResource x:Key="CommandBarBorderBrush" ResourceKey="SemiColorBorder" />
<!-- CommandBar overflow popup -->
<StaticResource x:Key="CommandBarOverflowBackground" ResourceKey="SemiColorBackground3" />
<StaticResource x:Key="CommandBarOverflowBorderBrush" ResourceKey="SemiColorBorder" />
<StaticResource x:Key="CommandBarOverflowBoxShadow" ResourceKey="SemiShadowElevated" />
</ResourceDictionary>

View File

@@ -7,9 +7,11 @@
<ResourceInclude Source="ButtonSpinner.axaml" />
<ResourceInclude Source="Calendar.axaml" />
<ResourceInclude Source="CalendarDatePicker.axaml" />
<ResourceInclude Source="CaptionButtons.axaml" />
<ResourceInclude Source="Carousel.axaml" />
<ResourceInclude Source="CheckBox.axaml" />
<ResourceInclude Source="ComboBox.axaml" />
<ResourceInclude Source="CommandBar.axaml" />
<ResourceInclude Source="DataValidationErrors.axaml" />
<ResourceInclude Source="DatePicker.axaml" />
<ResourceInclude Source="DateTimePickerShared.axaml" />
@@ -42,6 +44,5 @@
<ResourceInclude Source="Tooltip.axaml" />
<ResourceInclude Source="TreeView.axaml" />
<ResourceInclude Source="Window.axaml" />
<ResourceInclude Source="WindowDrawnDecorations.axaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>

View File

@@ -0,0 +1,29 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<!-- AppBarButton / AppBarToggleButton -->
<x:Double x:Key="AppBarButtonWidth">68</x:Double>
<x:Double x:Key="AppBarButtonCompactWidth">40</x:Double>
<x:Double x:Key="AppBarButtonMinHeight">40</x:Double>
<x:Double x:Key="AppBarButtonIconSize">20</x:Double>
<Thickness x:Key="AppBarButtonPadding">8 4</Thickness>
<StaticResource x:Key="AppBarButtonCornerRadius" ResourceKey="SemiBorderRadiusSmall" />
<StaticResource x:Key="AppBarButtonLabelFontSize" ResourceKey="SemiFontSizeSmall" />
<x:Double x:Key="AppBarButtonOverflowMinHeight">36</x:Double>
<Thickness x:Key="AppBarButtonOverflowPadding">12 6</Thickness>
<!-- AppBarSeparator -->
<x:Double x:Key="AppBarSeparatorWidth">1</x:Double>
<x:Double x:Key="AppBarSeparatorMinHeight">24</x:Double>
<Thickness x:Key="AppBarSeparatorMargin">8 4</Thickness>
<x:Double x:Key="AppBarSeparatorOverflowHeight">1</x:Double>
<Thickness x:Key="AppBarSeparatorOverflowMargin">4 4</Thickness>
<!-- CommandBar -->
<x:Double x:Key="CommandBarMinHeight">48</x:Double>
<Thickness x:Key="CommandBarPadding">4 0</Thickness>
<StaticResource x:Key="CommandBarCornerRadius" ResourceKey="SemiBorderRadiusMedium" />
<StaticResource x:Key="CommandBarBorderThickness" ResourceKey="SemiBorderThicknessControl" />
<!-- CommandBar overflow popup -->
<StaticResource x:Key="CommandBarOverflowCornerRadius" ResourceKey="SemiBorderRadiusMedium" />
<Thickness x:Key="CommandBarOverflowPadding">0 4</Thickness>
<x:Double x:Key="CommandBarOverflowMinWidth">160</x:Double>
<!-- Overflow button glyph -->
<StaticResource x:Key="CommandBarOverflowButtonGlyph" ResourceKey="SemiIconMore" />
</ResourceDictionary>

View File

@@ -7,9 +7,11 @@
<ResourceInclude Source="ButtonSpinner.axaml" />
<ResourceInclude Source="Calendar.axaml" />
<ResourceInclude Source="CalendarDatePicker.axaml" />
<ResourceInclude Source="CaptionButtons.axaml" />
<ResourceInclude Source="Carousel.axaml" />
<ResourceInclude Source="CheckBox.axaml" />
<ResourceInclude Source="ComboBox.axaml" />
<ResourceInclude Source="CommandBar.axaml" />
<ResourceInclude Source="DataValidationErrors.axaml" />
<ResourceInclude Source="DatePicker.axaml" />
<ResourceInclude Source="DateTimePickerShared.axaml" />
@@ -42,6 +44,5 @@
<ResourceInclude Source="Tooltip.axaml" />
<ResourceInclude Source="TreeView.axaml" />
<ResourceInclude Source="Window.axaml" />
<ResourceInclude Source="WindowDrawnDecorations.axaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>