Merge branch 'refs/heads/main' into shadow

This commit is contained in:
Zhang Dian 2024-11-14 15:54:22 +08:00
commit 252da729bb
24 changed files with 265 additions and 214 deletions

View File

@ -2,5 +2,6 @@
<PropertyGroup> <PropertyGroup>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<AvaloniaVersion>11.2.0</AvaloniaVersion> <AvaloniaVersion>11.2.0</AvaloniaVersion>
<CommunityToolkitVersion>8.3.2</CommunityToolkitVersion>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View File

@ -16,13 +16,13 @@ class Program
public static void Main(string[] args) => BuildAvaloniaApp() public static void Main(string[] args) => BuildAvaloniaApp()
.With(new FontManagerOptions .With(new FontManagerOptions
{ {
FontFallbacks = new[] FontFallbacks =
{ [
new FontFallback new FontFallback
{ {
FontFamily = new FontFamily("Microsoft YaHei") FontFamily = new FontFamily("Microsoft YaHei")
} }
} ]
}) })
.StartWithClassicDesktopLifetime(args); .StartWithClassicDesktopLifetime(args);

View File

@ -2,7 +2,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="1450"
x:Class="Semi.Avalonia.Demo.Pages.HeaderedContentControlDemo"> x:Class="Semi.Avalonia.Demo.Pages.HeaderedContentControlDemo">
<ScrollViewer> <ScrollViewer>
<StackPanel HorizontalAlignment="Left" Spacing="20"> <StackPanel HorizontalAlignment="Left" Spacing="20">
@ -27,12 +27,18 @@
</WrapPanel> </WrapPanel>
<TextBlock>GroupBox Theme</TextBlock> <TextBlock>GroupBox Theme</TextBlock>
<HeaderedContentControl <HeaderedContentControl
HorizontalAlignment="Left"
Theme="{DynamicResource GroupBox}" Theme="{DynamicResource GroupBox}"
Header="Semi Design" HorizontalAlignment="Left"
Width="400" MaxWidth="360">
Height="200"> <HeaderedContentControl.Header>
<TextBlock TextWrapping="Wrap">Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统。设计系统包含设计语言以及一整套可复用的前端组件,帮助设计师与开发者更容易地打造高质量的、用户体验一致的、符合设计规范的 Web 应用。</TextBlock> <Panel>
<SelectableTextBlock Text="Semi Design" />
<HyperlinkButton HorizontalAlignment="Right" Content="更多" />
</Panel>
</HeaderedContentControl.Header>
<HeaderedContentControl.Content>
<SelectableTextBlock Text="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统。设计系统包含设计语言以及一整套可复用的前端组件,帮助设计师与开发者更容易地打造高质量的、用户体验一致的、符合设计规范的 Web 应用。" />
</HeaderedContentControl.Content>
</HeaderedContentControl> </HeaderedContentControl>
</StackPanel> </StackPanel>
</ScrollViewer> </ScrollViewer>

View File

@ -4,7 +4,7 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="450" d:DesignHeight="800"
d:DesignWidth="800" d:DesignWidth="800"
mc:Ignorable="d"> mc:Ignorable="d">
<ScrollViewer> <ScrollViewer>
@ -13,15 +13,13 @@
<Style Selector="Label"> <Style Selector="Label">
<Setter Property="Margin" Value="4" /> <Setter Property="Margin" Value="4" />
</Style> </Style>
<Style Selector="Grid > TextBlock">
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="4" />
</Style>
</StackPanel.Styles> </StackPanel.Styles>
<ScrollViewer HorizontalScrollBarVisibility="Auto"> <ScrollViewer HorizontalScrollBarVisibility="Auto">
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
<StackPanel.Styles>
<Style Selector="Label, TextBlock">
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="4" />
</Style>
</StackPanel.Styles>
<HeaderedContentControl <HeaderedContentControl
Width="400" Width="400"
Height="400" Height="400"
@ -32,62 +30,62 @@
<Grid <Grid
VerticalAlignment="Top" VerticalAlignment="Top"
ColumnDefinitions="Auto, *" ColumnDefinitions="Auto, *"
RowDefinitions="*,*,*,*,*,*,*,*,*,*,*,*"> RowDefinitions="*,*,*,*,*,*,*,*,*,*,*">
<TextBlock Grid.Row="1" Grid.Column="0">Classes</TextBlock> <TextBlock Grid.Row="0" Grid.Column="0">Classes</TextBlock>
<TextBlock Grid.Row="2" Grid.Column="0">-</TextBlock> <TextBlock Grid.Row="1" Grid.Column="0">-</TextBlock>
<TextBlock Grid.Row="3" Grid.Column="0">Secondary</TextBlock> <TextBlock Grid.Row="2" Grid.Column="0">Secondary</TextBlock>
<TextBlock Grid.Row="4" Grid.Column="0">Tertiary</TextBlock> <TextBlock Grid.Row="3" Grid.Column="0">Tertiary</TextBlock>
<TextBlock Grid.Row="5" Grid.Column="0">Quaternary</TextBlock> <TextBlock Grid.Row="4" Grid.Column="0">Quaternary</TextBlock>
<TextBlock Grid.Row="6" Grid.Column="0">Success</TextBlock> <TextBlock Grid.Row="5" Grid.Column="0">Success</TextBlock>
<TextBlock Grid.Row="7" Grid.Column="0">Warning</TextBlock> <TextBlock Grid.Row="6" Grid.Column="0">Warning</TextBlock>
<TextBlock Grid.Row="8" Grid.Column="0">Danger</TextBlock> <TextBlock Grid.Row="7" Grid.Column="0">Danger</TextBlock>
<TextBlock Grid.Row="9" Grid.Column="0">Mark</TextBlock> <TextBlock Grid.Row="8" Grid.Column="0">Mark</TextBlock>
<TextBlock Grid.Row="10" Grid.Column="0">Code</TextBlock> <TextBlock Grid.Row="9" Grid.Column="0">Code</TextBlock>
<Label Grid.Row="2" Grid.Column="1">Text</Label> <Label Grid.Row="1" Grid.Column="1">Text</Label>
<Label <Label
Grid.Row="3" Grid.Row="2"
Grid.Column="1" Grid.Column="1"
Classes="Secondary"> Classes="Secondary">
Secondary Secondary
</Label> </Label>
<Label <Label
Grid.Row="4" Grid.Row="3"
Grid.Column="1" Grid.Column="1"
Classes="Tertiary"> Classes="Tertiary">
Tertiary Tertiary
</Label> </Label>
<Label <Label
Grid.Row="5" Grid.Row="4"
Grid.Column="1" Grid.Column="1"
Classes="Quaternary"> Classes="Quaternary">
Quaternary Quaternary
</Label> </Label>
<Label <Label
Grid.Row="6" Grid.Row="5"
Grid.Column="1" Grid.Column="1"
Classes="Success"> Classes="Success">
Success Success
</Label> </Label>
<Label <Label
Grid.Row="7" Grid.Row="6"
Grid.Column="1" Grid.Column="1"
Classes="Warning"> Classes="Warning">
Warning Warning
</Label> </Label>
<Label <Label
Grid.Row="8" Grid.Row="7"
Grid.Column="1" Grid.Column="1"
Classes="Danger"> Classes="Danger">
Danger Danger
</Label> </Label>
<Label <Label
Grid.Row="9" Grid.Row="8"
Grid.Column="1" Grid.Column="1"
Classes="Mark"> Classes="Mark">
Default Mark Default Mark
</Label> </Label>
<Label <Label
Grid.Row="10" Grid.Row="9"
Grid.Column="1" Grid.Column="1"
Classes="Code"> Classes="Code">
Code Code
@ -104,51 +102,51 @@
<Grid <Grid
VerticalAlignment="Top" VerticalAlignment="Top"
ColumnDefinitions="Auto, *" ColumnDefinitions="Auto, *"
RowDefinitions="*,*,*,*,*,*,*,*"> RowDefinitions="*,*,*,*,*,*,*">
<TextBlock Grid.Row="1" Grid.Column="0">Classes</TextBlock> <TextBlock Grid.Row="0" Grid.Column="0">Classes</TextBlock>
<TextBlock Grid.Row="2" Grid.Column="0">H1</TextBlock> <TextBlock Grid.Row="1" Grid.Column="0">H1</TextBlock>
<TextBlock Grid.Row="3" Grid.Column="0">H2</TextBlock> <TextBlock Grid.Row="2" Grid.Column="0">H2</TextBlock>
<TextBlock Grid.Row="4" Grid.Column="0">H3</TextBlock> <TextBlock Grid.Row="3" Grid.Column="0">H3</TextBlock>
<TextBlock Grid.Row="5" Grid.Column="0">H4</TextBlock> <TextBlock Grid.Row="4" Grid.Column="0">H4</TextBlock>
<TextBlock Grid.Row="6" Grid.Column="0">H5</TextBlock> <TextBlock Grid.Row="5" Grid.Column="0">H5</TextBlock>
<TextBlock Grid.Row="7" Grid.Column="0">H6</TextBlock> <TextBlock Grid.Row="6" Grid.Column="0">H6</TextBlock>
<Label <Label
Grid.Row="2" Grid.Row="1"
Grid.Column="1" Grid.Column="1"
Classes="H1" Classes="H1"
Theme="{StaticResource TitleLabel}"> Theme="{StaticResource TitleLabel}">
Header 1 Header 1
</Label> </Label>
<Label <Label
Grid.Row="3" Grid.Row="2"
Grid.Column="1" Grid.Column="1"
Classes="H2" Classes="H2"
Theme="{StaticResource TitleLabel}"> Theme="{StaticResource TitleLabel}">
Header 2 Header 2
</Label> </Label>
<Label <Label
Grid.Row="4" Grid.Row="3"
Grid.Column="1" Grid.Column="1"
Classes="H3" Classes="H3"
Theme="{StaticResource TitleLabel}"> Theme="{StaticResource TitleLabel}">
Header 3 Header 3
</Label> </Label>
<Label <Label
Grid.Row="5" Grid.Row="4"
Grid.Column="1" Grid.Column="1"
Classes="H4" Classes="H4"
Theme="{StaticResource TitleLabel}"> Theme="{StaticResource TitleLabel}">
Header 4 Header 4
</Label> </Label>
<Label <Label
Grid.Row="6" Grid.Row="5"
Grid.Column="1" Grid.Column="1"
Classes="H5" Classes="H5"
Theme="{StaticResource TitleLabel}"> Theme="{StaticResource TitleLabel}">
Header 5 Header 5
</Label> </Label>
<Label <Label
Grid.Row="7" Grid.Row="6"
Grid.Column="1" Grid.Column="1"
Classes="H6" Classes="H6"
Theme="{StaticResource TitleLabel}"> Theme="{StaticResource TitleLabel}">

View File

@ -4,13 +4,13 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="450" d:DesignHeight="600"
d:DesignWidth="800" d:DesignWidth="800"
mc:Ignorable="d"> mc:Ignorable="d">
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
<StackPanel.Styles> <StackPanel.Styles>
<Style Selector="SelectableTextBlock"> <Style Selector="Grid > SelectableTextBlock">
<Setter Property="VerticalAlignment" Value="Center" /> <Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="4" /> <Setter Property="Margin" Value="4" />
</Style> </Style>
@ -25,70 +25,76 @@
<Grid <Grid
VerticalAlignment="Top" VerticalAlignment="Top"
ColumnDefinitions="Auto, *" ColumnDefinitions="Auto, *"
RowDefinitions="*,*,*,*,*,*,*,*,*,*,*,*"> RowDefinitions="*,*,*,*,*,*,*,*,*,*,*">
<SelectableTextBlock Grid.Row="1" Grid.Column="0">Classes</SelectableTextBlock> <Grid.Styles>
<SelectableTextBlock Grid.Row="2" Grid.Column="0">-</SelectableTextBlock> <Style Selector="SelectableTextBlock">
<SelectableTextBlock Grid.Row="3" Grid.Column="0">Secondary</SelectableTextBlock> <Setter Property="VerticalAlignment" Value="Center" />
<SelectableTextBlock Grid.Row="4" Grid.Column="0">Tertiary</SelectableTextBlock> <Setter Property="Margin" Value="4" />
<SelectableTextBlock Grid.Row="5" Grid.Column="0">Quaternary</SelectableTextBlock> </Style>
<SelectableTextBlock Grid.Row="6" Grid.Column="0">Success</SelectableTextBlock> </Grid.Styles>
<SelectableTextBlock Grid.Row="7" Grid.Column="0">Warning</SelectableTextBlock> <SelectableTextBlock Grid.Row="0" Grid.Column="0">Classes</SelectableTextBlock>
<SelectableTextBlock Grid.Row="8" Grid.Column="0">Danger</SelectableTextBlock> <SelectableTextBlock Grid.Row="1" Grid.Column="0">-</SelectableTextBlock>
<SelectableTextBlock Grid.Row="9" Grid.Column="0">Mark</SelectableTextBlock> <SelectableTextBlock Grid.Row="2" Grid.Column="0">Secondary</SelectableTextBlock>
<SelectableTextBlock Grid.Row="10" Grid.Column="0">Underline</SelectableTextBlock> <SelectableTextBlock Grid.Row="3" Grid.Column="0">Tertiary</SelectableTextBlock>
<SelectableTextBlock Grid.Row="11" Grid.Column="0">Delete</SelectableTextBlock> <SelectableTextBlock Grid.Row="4" Grid.Column="0">Quaternary</SelectableTextBlock>
<SelectableTextBlock Grid.Row="5" Grid.Column="0">Success</SelectableTextBlock>
<SelectableTextBlock Grid.Row="6" Grid.Column="0">Warning</SelectableTextBlock>
<SelectableTextBlock Grid.Row="7" Grid.Column="0">Danger</SelectableTextBlock>
<SelectableTextBlock Grid.Row="8" Grid.Column="0">Mark</SelectableTextBlock>
<SelectableTextBlock Grid.Row="9" Grid.Column="0">Underline</SelectableTextBlock>
<SelectableTextBlock Grid.Row="10" Grid.Column="0">Delete</SelectableTextBlock>
<SelectableTextBlock Grid.Row="2" Grid.Column="1">Text</SelectableTextBlock> <SelectableTextBlock Grid.Row="1" Grid.Column="1">Text</SelectableTextBlock>
<SelectableTextBlock <SelectableTextBlock
Grid.Row="3" Grid.Row="2"
Grid.Column="1" Grid.Column="1"
Classes="Secondary"> Classes="Secondary">
Secondary Secondary
</SelectableTextBlock> </SelectableTextBlock>
<SelectableTextBlock <SelectableTextBlock
Grid.Row="4" Grid.Row="3"
Grid.Column="1" Grid.Column="1"
Classes="Tertiary"> Classes="Tertiary">
Tertiary Tertiary
</SelectableTextBlock> </SelectableTextBlock>
<SelectableTextBlock <SelectableTextBlock
Grid.Row="5" Grid.Row="4"
Grid.Column="1" Grid.Column="1"
Classes="Quaternary"> Classes="Quaternary">
Quaternary Quaternary
</SelectableTextBlock> </SelectableTextBlock>
<SelectableTextBlock <SelectableTextBlock
Grid.Row="6" Grid.Row="5"
Grid.Column="1" Grid.Column="1"
Classes="Success"> Classes="Success">
Success Success
</SelectableTextBlock> </SelectableTextBlock>
<SelectableTextBlock <SelectableTextBlock
Grid.Row="7" Grid.Row="6"
Grid.Column="1" Grid.Column="1"
Classes="Warning"> Classes="Warning">
Warning Warning
</SelectableTextBlock> </SelectableTextBlock>
<SelectableTextBlock <SelectableTextBlock
Grid.Row="8" Grid.Row="7"
Grid.Column="1" Grid.Column="1"
Classes="Danger"> Classes="Danger">
Danger Danger
</SelectableTextBlock> </SelectableTextBlock>
<SelectableTextBlock <SelectableTextBlock
Grid.Row="9" Grid.Row="8"
Grid.Column="1" Grid.Column="1"
Classes="Mark"> Classes="Mark">
Default Mark Default Mark
</SelectableTextBlock> </SelectableTextBlock>
<SelectableTextBlock <SelectableTextBlock
Grid.Row="10" Grid.Row="9"
Grid.Column="1" Grid.Column="1"
Classes="Underline"> Classes="Underline">
Underline Underline
</SelectableTextBlock> </SelectableTextBlock>
<SelectableTextBlock <SelectableTextBlock
Grid.Row="11" Grid.Row="10"
Grid.Column="1" Grid.Column="1"
Classes="Delete"> Classes="Delete">
Delete Delete
@ -104,53 +110,52 @@
Theme="{DynamicResource GroupBox}"> Theme="{DynamicResource GroupBox}">
<Grid <Grid
VerticalAlignment="Top" VerticalAlignment="Top"
Background="{Binding}"
ColumnDefinitions="Auto, *" ColumnDefinitions="Auto, *"
RowDefinitions="*,*,*,*,*,*,*,*"> RowDefinitions="*,*,*,*,*,*,*">
<SelectableTextBlock Grid.Row="1" Grid.Column="0">Classes</SelectableTextBlock> <SelectableTextBlock Grid.Row="0" Grid.Column="0">Classes</SelectableTextBlock>
<SelectableTextBlock Grid.Row="2" Grid.Column="0">H1</SelectableTextBlock> <SelectableTextBlock Grid.Row="1" Grid.Column="0">H1</SelectableTextBlock>
<SelectableTextBlock Grid.Row="3" Grid.Column="0">H2</SelectableTextBlock> <SelectableTextBlock Grid.Row="2" Grid.Column="0">H2</SelectableTextBlock>
<SelectableTextBlock Grid.Row="4" Grid.Column="0">H3</SelectableTextBlock> <SelectableTextBlock Grid.Row="3" Grid.Column="0">H3</SelectableTextBlock>
<SelectableTextBlock Grid.Row="5" Grid.Column="0">H4</SelectableTextBlock> <SelectableTextBlock Grid.Row="4" Grid.Column="0">H4</SelectableTextBlock>
<SelectableTextBlock Grid.Row="6" Grid.Column="0">H5</SelectableTextBlock> <SelectableTextBlock Grid.Row="5" Grid.Column="0">H5</SelectableTextBlock>
<SelectableTextBlock Grid.Row="7" Grid.Column="0">H6</SelectableTextBlock> <SelectableTextBlock Grid.Row="6" Grid.Column="0">H6</SelectableTextBlock>
<SelectableTextBlock <SelectableTextBlock
Grid.Row="2" Grid.Row="1"
Grid.Column="1" Grid.Column="1"
Classes="H1" Classes="H1"
Theme="{StaticResource TitleSelectableTextBlock}"> Theme="{StaticResource TitleSelectableTextBlock}">
Header 1 Header 1
</SelectableTextBlock> </SelectableTextBlock>
<SelectableTextBlock <SelectableTextBlock
Grid.Row="3" Grid.Row="2"
Grid.Column="1" Grid.Column="1"
Classes="H2" Classes="H2"
Theme="{StaticResource TitleSelectableTextBlock}"> Theme="{StaticResource TitleSelectableTextBlock}">
Header 2 Header 2
</SelectableTextBlock> </SelectableTextBlock>
<SelectableTextBlock <SelectableTextBlock
Grid.Row="4" Grid.Row="3"
Grid.Column="1" Grid.Column="1"
Classes="H3" Classes="H3"
Theme="{StaticResource TitleSelectableTextBlock}"> Theme="{StaticResource TitleSelectableTextBlock}">
Header 3 Header 3
</SelectableTextBlock> </SelectableTextBlock>
<SelectableTextBlock <SelectableTextBlock
Grid.Row="5" Grid.Row="4"
Grid.Column="1" Grid.Column="1"
Classes="H4" Classes="H4"
Theme="{StaticResource TitleSelectableTextBlock}"> Theme="{StaticResource TitleSelectableTextBlock}">
Header 4 Header 4
</SelectableTextBlock> </SelectableTextBlock>
<SelectableTextBlock <SelectableTextBlock
Grid.Row="6" Grid.Row="5"
Grid.Column="1" Grid.Column="1"
Classes="H5" Classes="H5"
Theme="{StaticResource TitleSelectableTextBlock}"> Theme="{StaticResource TitleSelectableTextBlock}">
Header 5 Header 5
</SelectableTextBlock> </SelectableTextBlock>
<SelectableTextBlock <SelectableTextBlock
Grid.Row="7" Grid.Row="6"
Grid.Column="1" Grid.Column="1"
Classes="H6" Classes="H6"
Theme="{StaticResource TitleSelectableTextBlock}"> Theme="{StaticResource TitleSelectableTextBlock}">

View File

@ -10,7 +10,7 @@
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto"> <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
<StackPanel.Styles> <StackPanel.Styles>
<Style Selector="TextBlock"> <Style Selector="Grid > TextBlock">
<Setter Property="VerticalAlignment" Value="Center" /> <Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="4" /> <Setter Property="Margin" Value="4" />
</Style> </Style>
@ -25,70 +25,70 @@
<Grid <Grid
VerticalAlignment="Top" VerticalAlignment="Top"
ColumnDefinitions="Auto, *" ColumnDefinitions="Auto, *"
RowDefinitions="*,*,*,*,*,*,*,*,*,*,*,*"> RowDefinitions="*,*,*,*,*,*,*,*,*,*,*">
<TextBlock Grid.Row="1" Grid.Column="0">Classes</TextBlock> <TextBlock Grid.Row="0" Grid.Column="0">Classes</TextBlock>
<TextBlock Grid.Row="2" Grid.Column="0">-</TextBlock> <TextBlock Grid.Row="1" Grid.Column="0">-</TextBlock>
<TextBlock Grid.Row="3" Grid.Column="0">Secondary</TextBlock> <TextBlock Grid.Row="2" Grid.Column="0">Secondary</TextBlock>
<TextBlock Grid.Row="4" Grid.Column="0">Tertiary</TextBlock> <TextBlock Grid.Row="3" Grid.Column="0">Tertiary</TextBlock>
<TextBlock Grid.Row="5" Grid.Column="0">Quaternary</TextBlock> <TextBlock Grid.Row="4" Grid.Column="0">Quaternary</TextBlock>
<TextBlock Grid.Row="6" Grid.Column="0">Success</TextBlock> <TextBlock Grid.Row="5" Grid.Column="0">Success</TextBlock>
<TextBlock Grid.Row="7" Grid.Column="0">Warning</TextBlock> <TextBlock Grid.Row="6" Grid.Column="0">Warning</TextBlock>
<TextBlock Grid.Row="8" Grid.Column="0">Danger</TextBlock> <TextBlock Grid.Row="7" Grid.Column="0">Danger</TextBlock>
<TextBlock Grid.Row="9" Grid.Column="0">Mark</TextBlock> <TextBlock Grid.Row="8" Grid.Column="0">Mark</TextBlock>
<TextBlock Grid.Row="10" Grid.Column="0">Underline</TextBlock> <TextBlock Grid.Row="9" Grid.Column="0">Underline</TextBlock>
<TextBlock Grid.Row="11" Grid.Column="0">Delete</TextBlock> <TextBlock Grid.Row="10" Grid.Column="0">Delete</TextBlock>
<TextBlock Grid.Row="2" Grid.Column="1">Text</TextBlock> <TextBlock Grid.Row="1" Grid.Column="1">Text</TextBlock>
<TextBlock <TextBlock
Grid.Row="3" Grid.Row="2"
Grid.Column="1" Grid.Column="1"
Classes="Secondary"> Classes="Secondary">
Secondary Secondary
</TextBlock> </TextBlock>
<TextBlock <TextBlock
Grid.Row="4" Grid.Row="3"
Grid.Column="1" Grid.Column="1"
Classes="Tertiary"> Classes="Tertiary">
Tertiary Tertiary
</TextBlock> </TextBlock>
<TextBlock <TextBlock
Grid.Row="5" Grid.Row="4"
Grid.Column="1" Grid.Column="1"
Classes="Quaternary"> Classes="Quaternary">
Quaternary Quaternary
</TextBlock> </TextBlock>
<TextBlock <TextBlock
Grid.Row="6" Grid.Row="5"
Grid.Column="1" Grid.Column="1"
Classes="Success"> Classes="Success">
Success Success
</TextBlock> </TextBlock>
<TextBlock <TextBlock
Grid.Row="7" Grid.Row="6"
Grid.Column="1" Grid.Column="1"
Classes="Warning"> Classes="Warning">
Warning Warning
</TextBlock> </TextBlock>
<TextBlock <TextBlock
Grid.Row="8" Grid.Row="7"
Grid.Column="1" Grid.Column="1"
Classes="Danger"> Classes="Danger">
Danger Danger
</TextBlock> </TextBlock>
<TextBlock <TextBlock
Grid.Row="9" Grid.Row="8"
Grid.Column="1" Grid.Column="1"
Classes="Mark"> Classes="Mark">
Default Mark Default Mark
</TextBlock> </TextBlock>
<TextBlock <TextBlock
Grid.Row="10" Grid.Row="9"
Grid.Column="1" Grid.Column="1"
Classes="Underline"> Classes="Underline">
Underline Underline
</TextBlock> </TextBlock>
<TextBlock <TextBlock
Grid.Row="11" Grid.Row="10"
Grid.Column="1" Grid.Column="1"
Classes="Delete"> Classes="Delete">
Delete Delete
@ -105,58 +105,57 @@
<Grid <Grid
VerticalAlignment="Top" VerticalAlignment="Top"
ColumnDefinitions="Auto, *" ColumnDefinitions="Auto, *"
RowDefinitions="*,*,*,*,*,*,*,*"> RowDefinitions="*,*,*,*,*,*,*">
<TextBlock Grid.Row="1" Grid.Column="0">Classes</TextBlock> <TextBlock Grid.Row="0" Grid.Column="0">Classes</TextBlock>
<TextBlock Grid.Row="2" Grid.Column="0">H1</TextBlock> <TextBlock Grid.Row="1" Grid.Column="0">H1</TextBlock>
<TextBlock Grid.Row="3" Grid.Column="0">H2</TextBlock> <TextBlock Grid.Row="2" Grid.Column="0">H2</TextBlock>
<TextBlock Grid.Row="4" Grid.Column="0">H3</TextBlock> <TextBlock Grid.Row="3" Grid.Column="0">H3</TextBlock>
<TextBlock Grid.Row="5" Grid.Column="0">H4</TextBlock> <TextBlock Grid.Row="4" Grid.Column="0">H4</TextBlock>
<TextBlock Grid.Row="6" Grid.Column="0">H5</TextBlock> <TextBlock Grid.Row="5" Grid.Column="0">H5</TextBlock>
<TextBlock Grid.Row="7" Grid.Column="0">H6</TextBlock> <TextBlock Grid.Row="6" Grid.Column="0">H6</TextBlock>
<TextBlock <TextBlock
Grid.Row="2" Grid.Row="1"
Grid.Column="1" Grid.Column="1"
Classes="H1" Classes="H1"
Theme="{StaticResource TitleTextBlock}"> Theme="{StaticResource TitleTextBlock}">
Header 1 Header 1
</TextBlock> </TextBlock>
<TextBlock <TextBlock
Grid.Row="3" Grid.Row="2"
Grid.Column="1" Grid.Column="1"
Classes="H2" Classes="H2"
Theme="{StaticResource TitleTextBlock}"> Theme="{StaticResource TitleTextBlock}">
Header 2 Header 2
</TextBlock> </TextBlock>
<TextBlock <TextBlock
Grid.Row="4" Grid.Row="3"
Grid.Column="1" Grid.Column="1"
Classes="H3" Classes="H3"
Theme="{StaticResource TitleTextBlock}"> Theme="{StaticResource TitleTextBlock}">
Header 3 Header 3
</TextBlock> </TextBlock>
<TextBlock <TextBlock
Grid.Row="5" Grid.Row="4"
Grid.Column="1" Grid.Column="1"
Classes="H4" Classes="H4"
Theme="{StaticResource TitleTextBlock}"> Theme="{StaticResource TitleTextBlock}">
Header 4 Header 4
</TextBlock> </TextBlock>
<TextBlock <TextBlock
Grid.Row="6" Grid.Row="5"
Grid.Column="1" Grid.Column="1"
Classes="H5" Classes="H5"
Theme="{StaticResource TitleTextBlock}"> Theme="{StaticResource TitleTextBlock}">
Header 5 Header 5
</TextBlock> </TextBlock>
<TextBlock <TextBlock
Grid.Row="7" Grid.Row="6"
Grid.Column="1" Grid.Column="1"
Classes="H6" Classes="H6"
Theme="{StaticResource TitleTextBlock}"> Theme="{StaticResource TitleTextBlock}">
Header 6 Header 6
</TextBlock> </TextBlock>
</Grid> </Grid>
</HeaderedContentControl> </HeaderedContentControl>
</StackPanel> </StackPanel>
</ScrollViewer> </ScrollViewer>

View File

@ -14,7 +14,7 @@
<PackageReference Include="Avalonia.Controls.DataGrid" Version="$(AvaloniaVersion)" /> <PackageReference Include="Avalonia.Controls.DataGrid" Version="$(AvaloniaVersion)" />
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.--> <!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)" /> <PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" /> <PackageReference Include="CommunityToolkit.Mvvm" Version="$(CommunityToolkitVersion)" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -1,5 +1,6 @@
using Avalonia; using Avalonia;
using System; using System;
using Avalonia.Media;
namespace Semi.Avalonia.TreeDataGrid.Demo; namespace Semi.Avalonia.TreeDataGrid.Demo;
@ -10,12 +11,21 @@ class Program
// yet and stuff might break. // yet and stuff might break.
[STAThread] [STAThread]
public static void Main(string[] args) => BuildAvaloniaApp() public static void Main(string[] args) => BuildAvaloniaApp()
.With(new FontManagerOptions
{
FontFallbacks =
[
new FontFallback
{
FontFamily = new FontFamily("Microsoft YaHei")
}
]
})
.StartWithClassicDesktopLifetime(args); .StartWithClassicDesktopLifetime(args);
// Avalonia configuration, don't remove; also used by visual designer. // Avalonia configuration, don't remove; also used by visual designer.
public static AppBuilder BuildAvaloniaApp() public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure<App>() => AppBuilder.Configure<App>()
.UsePlatformDetect() .UsePlatformDetect()
.WithInterFont()
.LogToTrace(); .LogToTrace();
} }

View File

@ -1,11 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<TargetFramework>net6.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<BuiltInComInteropSupport>true</BuiltInComInteropSupport> <BuiltInComInteropSupport>true</BuiltInComInteropSupport>
<LangVersion>latest</LangVersion>
<ApplicationManifest>app.manifest</ApplicationManifest> <ApplicationManifest>app.manifest</ApplicationManifest>
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault> <AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
<!-- Uncomment below to enable Native AOT compilation-->
<!--<PublishAot>true</PublishAot>-->
<!--<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>-->
</PropertyGroup> </PropertyGroup>
<Import Project="../Directory.Build.props" /> <Import Project="../Directory.Build.props" />
@ -13,16 +17,13 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Avalonia" Version="$(AvaloniaVersion)" /> <PackageReference Include="Avalonia" Version="$(AvaloniaVersion)" />
<PackageReference Include="Avalonia.Desktop" Version="$(AvaloniaVersion)" /> <PackageReference Include="Avalonia.Desktop" Version="$(AvaloniaVersion)" />
<PackageReference Include="Avalonia.Themes.Fluent" Version="$(AvaloniaVersion)" />
<PackageReference Include="Avalonia.Fonts.Inter" Version="$(AvaloniaVersion)" />
<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.--> <!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)" /> <PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="$(AvaloniaVersion)" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.1" /> <PackageReference Include="CommunityToolkit.Mvvm" Version="$(CommunityToolkitVersion)" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\src\Semi.Avalonia.TreeDataGrid\Semi.Avalonia.TreeDataGrid.csproj" /> <ProjectReference Include="..\..\src\Semi.Avalonia.TreeDataGrid\Semi.Avalonia.TreeDataGrid.csproj" />
<ProjectReference Include="..\..\src\Semi.Avalonia\Semi.Avalonia.csproj" /> <ProjectReference Include="..\..\src\Semi.Avalonia\Semi.Avalonia.csproj" />
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -2,8 +2,8 @@
<Styles.Resources> <Styles.Resources>
<ResourceDictionary> <ResourceDictionary>
<ResourceDictionary.ThemeDictionaries> <ResourceDictionary.ThemeDictionaries>
<MergeResourceInclude x:Key="Default" Source="avares://Semi.Avalonia.TreeDataGrid/Light.axaml" /> <ResourceInclude x:Key="Default" Source="avares://Semi.Avalonia.TreeDataGrid/Light.axaml" />
<MergeResourceInclude x:Key="Dark" Source="avares://Semi.Avalonia.TreeDataGrid/Dark.axaml" /> <ResourceInclude x:Key="Dark" Source="avares://Semi.Avalonia.TreeDataGrid/Dark.axaml" />
</ResourceDictionary.ThemeDictionaries> </ResourceDictionary.ThemeDictionaries>
<ResourceDictionary.MergedDictionaries> <ResourceDictionary.MergedDictionaries>
<ResourceInclude Source="avares://Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml" /> <ResourceInclude Source="avares://Semi.Avalonia.TreeDataGrid/TreeDataGrid.axaml" />

View File

@ -30,11 +30,11 @@
<ControlTheme x:Key="{x:Type ComboBox}" TargetType="ComboBox"> <ControlTheme x:Key="{x:Type ComboBox}" TargetType="ComboBox">
<Setter Property="Padding" Value="{DynamicResource ComboBoxSelectorDefaultPadding}" /> <Setter Property="Padding" Value="{DynamicResource ComboBoxSelectorDefaultPadding}" />
<Setter Property="FocusAdorner" Value="{x:Null}" /> <Setter Property="FocusAdorner" Value="{x:Null}" />
<Setter Property="MaxDropDownHeight" Value="504" /> <Setter Property="MaxDropDownHeight" Value="{DynamicResource ComboBoxPopupMaxDropDownHeight}" />
<Setter Property="Background" Value="{DynamicResource ComboBoxSelectorBackground}" /> <Setter Property="Background" Value="{DynamicResource ComboBoxSelectorBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxSelectorBorderBrush}" /> <Setter Property="BorderBrush" Value="{DynamicResource ComboBoxSelectorBorderBrush}" />
<Setter Property="BackgroundSizing" Value="OuterBorderEdge" /> <Setter Property="BackgroundSizing" Value="OuterBorderEdge" />
<Setter Property="BorderThickness" Value="1" /> <Setter Property="BorderThickness" Value="{DynamicResource ComboBoxSelectorThickness}" />
<Setter Property="Cursor" Value="Hand" /> <Setter Property="Cursor" Value="Hand" />
<Setter Property="CornerRadius" Value="{DynamicResource ComboBoxSelectorCornerRadius}" /> <Setter Property="CornerRadius" Value="{DynamicResource ComboBoxSelectorCornerRadius}" />
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" /> <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" />
@ -66,8 +66,7 @@
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
TextTrimming="CharacterEllipsis" TextTrimming="CharacterEllipsis"
Foreground="{TemplateBinding Foreground}" Foreground="{TemplateBinding Foreground}"
IsVisible="{TemplateBinding SelectionBoxItem, IsVisible="{TemplateBinding SelectionBoxItem,Converter={x:Static ObjectConverters.IsNull}}"
Converter={x:Static ObjectConverters.IsNull}}"
Opacity="0.3" Opacity="0.3"
Text="{TemplateBinding PlaceholderText}" /> Text="{TemplateBinding PlaceholderText}" />
<ContentPresenter <ContentPresenter
@ -81,27 +80,19 @@
<Button <Button
Name="ClearButton" Name="ClearButton"
Grid.Column="1" Grid.Column="1"
Margin="0,0,8,0" Margin="{DynamicResource ComboBoxClearButtonMargin}"
Command="{Binding $parent[ComboBox].Clear}" Command="{Binding $parent[ComboBox].Clear}"
Content="{DynamicResource IconButtonClearData}" Content="{DynamicResource IconButtonClearData}"
Focusable="False" Focusable="False"
IsVisible="False" IsVisible="False"
Theme="{DynamicResource InnerIconButton}" /> Theme="{DynamicResource InnerIconButton}" />
<Border
Name="DropDownOverlay"
Grid.Column="1"
Width="30"
Margin="0,1,1,1"
HorizontalAlignment="Right"
Background="Transparent"
IsVisible="False" />
<PathIcon <PathIcon
Name="DropDownGlyph" Name="DropDownGlyph"
Grid.Column="1" Grid.Column="1"
Width="12" Width="{DynamicResource ComboBoxIconWidth}"
Height="12" Height="{DynamicResource ComboBoxIconHeight}"
Margin="0,0,12,0" Margin="{DynamicResource ComboBoxIconMargin}"
Data="{DynamicResource ComboBoxIcon}" Data="{DynamicResource ComboBoxIcon}"
Foreground="{DynamicResource ComboBoxIconDefaultForeground}" Foreground="{DynamicResource ComboBoxIconDefaultForeground}"
IsHitTestVisible="False" IsHitTestVisible="False"
@ -120,21 +111,20 @@
WindowManagerAddShadowHint="False"> WindowManagerAddShadowHint="False">
<Border <Border
Name="PopupBorder" Name="PopupBorder"
Margin="0,4"
HorizontalAlignment="Stretch" HorizontalAlignment="Stretch"
Margin="{DynamicResource ComboBoxPopupBorderMargin}"
Background="{DynamicResource ComboBoxPopupBackground}" Background="{DynamicResource ComboBoxPopupBackground}"
BorderBrush="{DynamicResource ComboBoxPopupBorderBrush}" BorderBrush="{DynamicResource ComboBoxPopupBorderBrush}"
BorderThickness="{DynamicResource ComboBoxPopupBorderThickness}" BorderThickness="{DynamicResource ComboBoxPopupBorderThickness}"
BoxShadow="{DynamicResource ComboBoxPopupBoxShadow}" BoxShadow="{DynamicResource ComboBoxPopupBoxShadow}"
ClipToBounds="True" CornerRadius="{DynamicResource ComboBoxPopupBoxCornerRadius}"
CornerRadius="6"> ClipToBounds="True">
<ScrollViewer <ScrollViewer
HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}"
IsDeferredScrollingEnabled="{TemplateBinding (ScrollViewer.IsDeferredScrollingEnabled)}" IsDeferredScrollingEnabled="{TemplateBinding ScrollViewer.IsDeferredScrollingEnabled}"
VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}"> VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}">
<ItemsPresenter <ItemsPresenter
Name="PART_ItemsPresenter" Name="PART_ItemsPresenter"
Margin="{DynamicResource ComboBoxDropdownContentMargin}"
ItemsPanel="{TemplateBinding ItemsPanel}" /> ItemsPanel="{TemplateBinding ItemsPanel}" />
</ScrollViewer> </ScrollViewer>
</Border> </Border>

View File

@ -22,11 +22,12 @@
BorderBrush="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}" BorderThickness="{TemplateBinding BorderThickness}"
BoxShadow="{DynamicResource DateTimePickerFlyoutBoxShadow}" BoxShadow="{DynamicResource DateTimePickerFlyoutBoxShadow}"
CornerRadius="{TemplateBinding CornerRadius}"> CornerRadius="{TemplateBinding CornerRadius}"
ClipToBounds="True">
<Grid Name="ContentPanel" RowDefinitions="*,Auto"> <Grid Name="ContentPanel" RowDefinitions="*,Auto">
<Grid Name="PART_PickerContainer"> <Grid Name="PART_PickerContainer">
<Grid.Styles> <Grid.Styles>
<Style Selector="DateTimePickerPanel &gt; ListBoxItem"> <Style Selector="DateTimePickerPanel > ListBoxItem">
<Setter Property="Theme" Value="{StaticResource DateTimePickerItem}" /> <Setter Property="Theme" Value="{StaticResource DateTimePickerItem}" />
</Style> </Style>
</Grid.Styles> </Grid.Styles>
@ -108,6 +109,7 @@
Data="{DynamicResource DateTimePickerDismissGlyph}" /> Data="{DynamicResource DateTimePickerDismissGlyph}" />
</Button> </Button>
<Rectangle <Rectangle
Grid.Column="0"
Grid.ColumnSpan="2" Grid.ColumnSpan="2"
Height="1" Height="1"
VerticalAlignment="Top" VerticalAlignment="Top"
@ -177,6 +179,7 @@
<TextBlock <TextBlock
Name="PART_MonthTextBlock" Name="PART_MonthTextBlock"
Padding="12,0" Padding="12,0"
HorizontalAlignment="Center"
VerticalAlignment="Center" VerticalAlignment="Center"
FontFamily="{TemplateBinding FontFamily}" FontFamily="{TemplateBinding FontFamily}"
FontSize="{TemplateBinding FontSize}" FontSize="{TemplateBinding FontSize}"

View File

@ -65,10 +65,6 @@
<Style Selector="^:selected"> <Style Selector="^:selected">
<Setter Property="IsHitTestVisible" Value="False" /> <Setter Property="IsHitTestVisible" Value="False" />
</Style> </Style>
<Style Selector="^.MonthItem">
<Setter Property="Padding" Value="{DynamicResource DatePickerFlyoutPresenterMonthPadding}" />
<Setter Property="HorizontalContentAlignment" Value="Left" />
</Style>
</ControlTheme> </ControlTheme>
<!-- This is used for both the accept/dismiss & buttons in the presenter --> <!-- This is used for both the accept/dismiss & buttons in the presenter -->

View File

@ -1,7 +1,31 @@
<ResourceDictionary <ResourceDictionary
xmlns="https://github.com/avaloniaui" xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="clr-namespace:Avalonia.Controls.Converters;assembly=Avalonia.Controls"
x:CompileBindings="True"> x:CompileBindings="True">
<Design.PreviewWith>
<StackPanel Spacing="20">
<HeaderedContentControl
Theme="{DynamicResource GroupBox}"
Header="Header" />
<HeaderedContentControl
Theme="{DynamicResource GroupBox}"
Content="Content" />
<HeaderedContentControl
Theme="{DynamicResource GroupBox}"
MaxWidth="360"
Content="Semi Design 是由互娱社区前端团队与 UED 团队共同设计开发并维护的设计系统。设计系统包含设计语言以及一整套可复用的前端组件,帮助设计师与开发者更容易地打造高质量的、用户体验一致的、符合设计规范的 Web 应用。">
<HeaderedContentControl.Header>
<Panel>
<SelectableTextBlock Text="Semi Design" />
<HyperlinkButton HorizontalAlignment="Right" Content="更多" />
</Panel>
</HeaderedContentControl.Header>
</HeaderedContentControl>
</StackPanel>
</Design.PreviewWith>
<converters:MarginMultiplierConverter x:Key="SeparatorBorderMultiplier" Top="True" Indent="1" />
<ControlTheme x:Key="{x:Type HeaderedContentControl}" TargetType="HeaderedContentControl"> <ControlTheme x:Key="{x:Type HeaderedContentControl}" TargetType="HeaderedContentControl">
<Setter Property="Padding" Value="3" /> <Setter Property="Padding" Value="3" />
<Setter Property="Template"> <Setter Property="Template">
@ -12,31 +36,31 @@
CornerRadius="{TemplateBinding CornerRadius}" CornerRadius="{TemplateBinding CornerRadius}"
Background="{TemplateBinding Background}" Background="{TemplateBinding Background}"
Padding="{TemplateBinding Padding}"> Padding="{TemplateBinding Padding}">
<Grid RowDefinitions="auto *"> <Grid RowDefinitions="Auto,*">
<ContentPresenter <ContentPresenter
Name="PART_HeaderPresenter" Name="PART_HeaderPresenter"
Grid.Row="0"
Content="{TemplateBinding Header}" Content="{TemplateBinding Header}"
RecognizesAccessKey="True"
ContentTemplate="{TemplateBinding HeaderTemplate}" ContentTemplate="{TemplateBinding HeaderTemplate}"
RecognizesAccessKey="True"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
FontSize="{TemplateBinding FontSize}" FontSize="{TemplateBinding FontSize}"
FontWeight="{TemplateBinding FontWeight}" FontWeight="{TemplateBinding FontWeight}"
FontFamily="{TemplateBinding FontFamily}" FontFamily="{TemplateBinding FontFamily}"
FontStyle="{TemplateBinding FontStyle}" FontStyle="{TemplateBinding FontStyle}" />
Grid.Row="0" />
<ContentPresenter <ContentPresenter
Name="PART_ContentPresenter" Name="PART_ContentPresenter"
Grid.Row="1"
ContentTemplate="{TemplateBinding ContentTemplate}" ContentTemplate="{TemplateBinding ContentTemplate}"
Content="{TemplateBinding Content}" Content="{TemplateBinding Content}"
RecognizesAccessKey="True" RecognizesAccessKey="True"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
FontSize="{TemplateBinding FontSize}" FontSize="{TemplateBinding FontSize}"
FontWeight="{TemplateBinding FontWeight}" FontWeight="{TemplateBinding FontWeight}"
FontFamily="{TemplateBinding FontFamily}" FontFamily="{TemplateBinding FontFamily}"
FontStyle="{TemplateBinding FontStyle}" FontStyle="{TemplateBinding FontStyle}" />
Grid.Row="1" />
</Grid> </Grid>
</Border> </Border>
</ControlTemplate> </ControlTemplate>
@ -44,42 +68,46 @@
</ControlTheme> </ControlTheme>
<ControlTheme x:Key="GroupBox" TargetType="HeaderedContentControl"> <ControlTheme x:Key="GroupBox" TargetType="HeaderedContentControl">
<Setter Property="Background" Value="{DynamicResource HeaderedContentControlDefaultBackground}" /> <Setter Property="Background" Value="{DynamicResource HeaderedContentControlBackground}" />
<Setter Property="BorderThickness" Value="1" /> <Setter Property="BorderBrush" Value="{DynamicResource HeaderedContentControlBorderBrush}" />
<Setter Property="BorderBrush" Value="{DynamicResource HeaderedContentControlDefaultBorderBrush}" /> <Setter Property="BorderThickness" Value="{DynamicResource HeaderedContentControlBorderThickness}" />
<Setter Property="CornerRadius" Value="{DynamicResource HeaderedContentControlCornerRadius}" /> <Setter Property="CornerRadius" Value="{DynamicResource HeaderedContentControlCornerRadius}" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Setter Property="VerticalContentAlignment" Value="Stretch" />
<Setter Property="Template"> <Setter Property="Template">
<ControlTemplate TargetType="HeaderedContentControl"> <ControlTemplate TargetType="HeaderedContentControl">
<Border <Border
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Width="{TemplateBinding Width}"
Height="{TemplateBinding Height}"
Background="{TemplateBinding Background}" Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
CornerRadius="{TemplateBinding CornerRadius}" BorderThickness="{TemplateBinding BorderThickness}"
BorderThickness="{TemplateBinding BorderThickness}"> CornerRadius="{TemplateBinding CornerRadius}">
<Grid RowDefinitions="Auto,Auto,Auto"> <Grid RowDefinitions="Auto,Auto,Auto">
<ContentPresenter <ContentPresenter
Name="PART_HeaderPresenter"
Grid.Row="0" Grid.Row="0"
FontWeight="Bold" Padding="{DynamicResource HeaderedContentControlHeaderPadding}"
HorizontalAlignment="Left" FontWeight="{DynamicResource HeaderedContentControlHeaderFontWeight}"
VerticalAlignment="Stretch" IsVisible="{TemplateBinding Header,Converter={x:Static ObjectConverters.IsNotNull}}"
Content="{TemplateBinding Header}" Content="{TemplateBinding Header}"
ContentTemplate="{TemplateBinding HeaderTemplate}" ContentTemplate="{TemplateBinding HeaderTemplate}" />
Margin="16" /> <Border
<Rectangle Name="SeparatorBorder"
Grid.Row="1" Grid.Row="1"
Fill="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
Height="1" /> BorderThickness="{TemplateBinding BorderThickness, Converter={StaticResource SeparatorBorderMultiplier}}">
<Border.IsVisible>
<MultiBinding Converter="{x:Static BoolConverters.And}">
<TemplateBinding Property="Header" Converter="{x:Static ObjectConverters.IsNotNull}" />
<TemplateBinding Property="Content" Converter="{x:Static ObjectConverters.IsNotNull}" />
</MultiBinding>
</Border.IsVisible>
</Border>
<ContentPresenter <ContentPresenter
Name="PART_ContentPresenter"
Grid.Row="2" Grid.Row="2"
IsVisible="{TemplateBinding Content,Converter={x:Static ObjectConverters.IsNotNull}}"
Padding="{DynamicResource HeaderedContentControlContentPadding}"
Content="{TemplateBinding Content}" Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}" ContentTemplate="{TemplateBinding ContentTemplate}"
Margin="16" /> TextWrapping="Wrap" />
</Grid> </Grid>
</Border> </Border>
</ControlTemplate> </ControlTemplate>

View File

@ -205,13 +205,13 @@
<Setter Property="MinHeight" Value="{DynamicResource ScrollBarThickness}" /> <Setter Property="MinHeight" Value="{DynamicResource ScrollBarThickness}" />
<Setter Property="Width" Value="{DynamicResource ScrollBarThumbThickness}" /> <Setter Property="Width" Value="{DynamicResource ScrollBarThumbThickness}" />
</Style> </Style>
<Style Selector="^ /template/ RepeatButton &gt; PathIcon"> <Style Selector="^ /template/ RepeatButton > PathIcon">
<Setter Property="Foreground" Value="{DynamicResource ScrollBarButtonDefaultForeground}" /> <Setter Property="Foreground" Value="{DynamicResource ScrollBarButtonDefaultForeground}" />
</Style> </Style>
<Style Selector="^ /template/ RepeatButton:pointerover &gt; PathIcon"> <Style Selector="^ /template/ RepeatButton:pointerover > PathIcon">
<Setter Property="Foreground" Value="{DynamicResource ScrollBarButtonPointeroverForeground}" /> <Setter Property="Foreground" Value="{DynamicResource ScrollBarButtonPointeroverForeground}" />
</Style> </Style>
<Style Selector="^ /template/ RepeatButton:pressed &gt; PathIcon"> <Style Selector="^ /template/ RepeatButton:pressed > PathIcon">
<Setter Property="RenderTransform" Value="scale(0.92)" /> <Setter Property="RenderTransform" Value="scale(0.92)" />
</Style> </Style>
@ -346,11 +346,11 @@
</DockPanel> </DockPanel>
</ControlTemplate> </ControlTemplate>
</Setter> </Setter>
<Style Selector="^ /template/ RepeatButton &gt; Path"> <Style Selector="^ /template/ RepeatButton > Path">
<Setter Property="Fill" Value="{DynamicResource ColorScrollBarButtonDefaultForeground}" /> <Setter Property="Fill" Value="{DynamicResource ColorScrollBarButtonDefaultForeground}" />
</Style> </Style>
<Style Selector="^ /template/ RepeatButton:pointerover &gt; Path"> <Style Selector="^ /template/ RepeatButton:pointerover > Path">
<Setter Property="Fill" Value="{DynamicResource ColorScrollBarButtonPointeroverForeground}" /> <Setter Property="Fill" Value="{DynamicResource ColorScrollBarButtonPointeroverForeground}" />
</Style> </Style>
</ControlTheme> </ControlTheme>

View File

@ -32,10 +32,10 @@
</ControlTemplate> </ControlTemplate>
</Setter> </Setter>
<Style Selector="^[TabStripPlacement=Left] /template/ ItemsPresenter#PART_ItemsPresenter &gt; WrapPanel"> <Style Selector="^[TabStripPlacement=Left] /template/ ItemsPresenter#PART_ItemsPresenter > WrapPanel">
<Setter Property="Orientation" Value="Vertical" /> <Setter Property="Orientation" Value="Vertical" />
</Style> </Style>
<Style Selector="^[TabStripPlacement=Right] /template/ ItemsPresenter#PART_ItemsPresenter &gt; WrapPanel"> <Style Selector="^[TabStripPlacement=Right] /template/ ItemsPresenter#PART_ItemsPresenter > WrapPanel">
<Setter Property="Orientation" Value="Vertical" /> <Setter Property="Orientation" Value="Vertical" />
</Style> </Style>
<Style Selector="^[TabStripPlacement=Left] /template/ Border#PART_BorderSeparator"> <Style Selector="^[TabStripPlacement=Left] /template/ Border#PART_BorderSeparator">

View File

@ -22,11 +22,12 @@
BorderBrush="{TemplateBinding BorderBrush}" BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}" BorderThickness="{TemplateBinding BorderThickness}"
BoxShadow="{DynamicResource DateTimePickerFlyoutBoxShadow}" BoxShadow="{DynamicResource DateTimePickerFlyoutBoxShadow}"
CornerRadius="{TemplateBinding CornerRadius}"> CornerRadius="{TemplateBinding CornerRadius}"
ClipToBounds="True">
<Grid Name="ContentPanel" RowDefinitions="*,Auto"> <Grid Name="ContentPanel" RowDefinitions="*,Auto">
<Grid Name="PART_PickerContainer"> <Grid Name="PART_PickerContainer">
<Grid.Styles> <Grid.Styles>
<Style Selector="DateTimePickerPanel &gt; ListBoxItem"> <Style Selector="DateTimePickerPanel > ListBoxItem">
<Setter Property="Theme" Value="{StaticResource DateTimePickerItem}" /> <Setter Property="Theme" Value="{StaticResource DateTimePickerItem}" />
</Style> </Style>
</Grid.Styles> </Grid.Styles>
@ -130,6 +131,7 @@
Data="{DynamicResource DateTimePickerDismissGlyph}" /> Data="{DynamicResource DateTimePickerDismissGlyph}" />
</Button> </Button>
<Rectangle <Rectangle
Grid.Column="0"
Grid.ColumnSpan="2" Grid.ColumnSpan="2"
Height="1" Height="1"
VerticalAlignment="Top" VerticalAlignment="Top"

View File

@ -1,4 +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">
<SolidColorBrush x:Key="HeaderedContentControlDefaultBackground" Color="Transparent" /> <SolidColorBrush x:Key="HeaderedContentControlBackground" Color="#16161A" />
<SolidColorBrush x:Key="HeaderedContentControlDefaultBorderBrush" Opacity="0.08" Color="White" /> <SolidColorBrush x:Key="HeaderedContentControlBorderBrush" Opacity="0.08" Color="White" />
</ResourceDictionary> </ResourceDictionary>

View File

@ -1,4 +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">
<SolidColorBrush x:Key="HeaderedContentControlDefaultBackground" Color="{StaticResource WindowColor}" /> <SolidColorBrush x:Key="HeaderedContentControlBackground" Color="{StaticResource WindowColor}" />
<SolidColorBrush x:Key="HeaderedContentControlDefaultBorderBrush" Color="{StaticResource WindowTextColor}" /> <SolidColorBrush x:Key="HeaderedContentControlBorderBrush" Color="{StaticResource WindowTextColor}" />
</ResourceDictionary> </ResourceDictionary>

View File

@ -1,4 +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">
<SolidColorBrush x:Key="HeaderedContentControlDefaultBackground" Color="Transparent" /> <SolidColorBrush x:Key="HeaderedContentControlBackground" Color="White" />
<SolidColorBrush x:Key="HeaderedContentControlDefaultBorderBrush" Opacity="0.08" Color="#1C1F23" /> <SolidColorBrush x:Key="HeaderedContentControlBorderBrush" Opacity="0.08" Color="#1C1F23" />
</ResourceDictionary> </ResourceDictionary>

View File

@ -1,14 +1,22 @@
<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">
<CornerRadius x:Key="ComboBoxSelectorCornerRadius">3</CornerRadius> <CornerRadius x:Key="ComboBoxSelectorCornerRadius">3</CornerRadius>
<Thickness x:Key="ComboBoxSelectorThickness">1</Thickness>
<Thickness x:Key="ComboBoxItemDefaultPadding">8 4</Thickness> <Thickness x:Key="ComboBoxItemDefaultPadding">12 8</Thickness>
<Thickness x:Key="ComboBoxSelectorDefaultPadding">8 0</Thickness> <Thickness x:Key="ComboBoxSelectorDefaultPadding">8 0</Thickness>
<x:Double x:Key="ComboBoxPopupMaxDropDownHeight">504</x:Double>
<Thickness x:Key="ComboBoxPopupBorderThickness">1</Thickness> <Thickness x:Key="ComboBoxPopupBorderThickness">1</Thickness>
<CornerRadius x:Key="ComboBoxPopupBoxCornerRadius">6</CornerRadius>
<Thickness x:Key="ComboBoxClearButtonMargin">0 0 8 0</Thickness>
<Thickness x:Key="ComboBoxIconMargin">0 0 12 0</Thickness>
<x:Double x:Key="ComboBoxIconWidth">12</x:Double>
<x:Double x:Key="ComboBoxIconHeight">12</x:Double>
<StreamGeometry x:Key="ComboBoxIcon"> <StreamGeometry x:Key="ComboBoxIcon">
M4.08045 7.59809C4.66624 7.01231 5.61599 7.01231 6.20177 7.59809L11.8586 13.2549L17.5155 7.59809C18.1013 7.01231 19.051 7.01231 19.6368 7.59809C20.2226 8.18388 20.2226 9.13363 19.6368 9.71941L12.9193 16.4369C12.3335 17.0227 11.3838 17.0227 10.798 16.4369L4.08045 9.71941C3.49467 9.13363 3.49467 8.18388 4.08045 7.59809Z M4.08045 7.59809C4.66624 7.01231 5.61599 7.01231 6.20177 7.59809L11.8586 13.2549L17.5155 7.59809C18.1013 7.01231 19.051 7.01231 19.6368 7.59809C20.2226 8.18388 20.2226 9.13363 19.6368 9.71941L12.9193 16.4369C12.3335 17.0227 11.3838 17.0227 10.798 16.4369L4.08045 9.71941C3.49467 9.13363 3.49467 8.18388 4.08045 7.59809Z
</StreamGeometry> </StreamGeometry>
<Thickness x:Key="ComboBoxPopupBorderMargin">0 4</Thickness>
<x:Double x:Key="ComboBoxDefaultHeight">32</x:Double> <x:Double x:Key="ComboBoxDefaultHeight">32</x:Double>
<x:Double x:Key="ComboBoxSmallHeight">24</x:Double> <x:Double x:Key="ComboBoxSmallHeight">24</x:Double>

View File

@ -4,10 +4,10 @@
<StreamGeometry x:Key="DateTimePickerAcceptGlyph">M17.4111 7.30848C18.0692 7.81171 18.1947 8.75312 17.6915 9.41119L11.1915 17.9112C10.909 18.2806 10.4711 18.4981 10.0061 18.5C9.54105 18.5019 9.10143 18.288 8.81592 17.9209L5.31592 13.4209C4.80731 12.767 4.92512 11.8246 5.57904 11.316C6.23296 10.8074 7.17537 10.9252 7.68398 11.5791L9.98988 14.5438L15.3084 7.58884C15.8116 6.93077 16.7531 6.80525 17.4111 7.30848Z</StreamGeometry> <StreamGeometry x:Key="DateTimePickerAcceptGlyph">M17.4111 7.30848C18.0692 7.81171 18.1947 8.75312 17.6915 9.41119L11.1915 17.9112C10.909 18.2806 10.4711 18.4981 10.0061 18.5C9.54105 18.5019 9.10143 18.288 8.81592 17.9209L5.31592 13.4209C4.80731 12.767 4.92512 11.8246 5.57904 11.316C6.23296 10.8074 7.17537 10.9252 7.68398 11.5791L9.98988 14.5438L15.3084 7.58884C15.8116 6.93077 16.7531 6.80525 17.4111 7.30848Z</StreamGeometry>
<StreamGeometry x:Key="DateTimePickerDismissGlyph">M17.6568 19.7782C18.2426 20.3639 19.1924 20.3639 19.7782 19.7782C20.3639 19.1924 20.3639 18.2426 19.7782 17.6568L14.1213 12L19.7782 6.34313C20.3639 5.75734 20.3639 4.8076 19.7782 4.22181C19.1924 3.63602 18.2426 3.63602 17.6568 4.22181L12 9.87866L6.34313 4.22181C5.75734 3.63602 4.8076 3.63602 4.22181 4.22181C3.63602 4.8076 3.63602 5.75734 4.22181 6.34313L9.87866 12L4.22181 17.6568C3.63602 18.2426 3.63602 19.1924 4.22181 19.7782C4.8076 20.3639 5.75734 20.3639 6.34313 19.7782L12 14.1213L17.6568 19.7782Z</StreamGeometry> <StreamGeometry x:Key="DateTimePickerDismissGlyph">M17.6568 19.7782C18.2426 20.3639 19.1924 20.3639 19.7782 19.7782C20.3639 19.1924 20.3639 18.2426 19.7782 17.6568L14.1213 12L19.7782 6.34313C20.3639 5.75734 20.3639 4.8076 19.7782 4.22181C19.1924 3.63602 18.2426 3.63602 17.6568 4.22181L12 9.87866L6.34313 4.22181C5.75734 3.63602 4.8076 3.63602 4.22181 4.22181C3.63602 4.8076 3.63602 5.75734 4.22181 6.34313L9.87866 12L4.22181 17.6568C3.63602 18.2426 3.63602 19.1924 4.22181 19.7782C4.8076 20.3639 5.75734 20.3639 6.34313 19.7782L12 14.1213L17.6568 19.7782Z</StreamGeometry>
<x:Double x:Key="DateTimePickerListBoxItemHeight">30</x:Double> <x:Double x:Key="DateTimePickerListBoxItemHeight">36</x:Double>
<Thickness x:Key="DateTimePickerFlyoutPadding">16 0</Thickness> <Thickness x:Key="DateTimePickerFlyoutPadding">0</Thickness>
<Thickness x:Key="DateTimePickerFlyoutBorderMargin">8</Thickness> <Thickness x:Key="DateTimePickerFlyoutBorderMargin">8</Thickness>
<x:Double x:Key="DateTimePickerButtonSmallHeight">24</x:Double> <x:Double x:Key="DateTimePickerButtonSmallHeight">24</x:Double>

View File

@ -1,3 +1,7 @@
<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">
<CornerRadius x:Key="HeaderedContentControlCornerRadius">4</CornerRadius> <CornerRadius x:Key="HeaderedContentControlCornerRadius">6</CornerRadius>
<Thickness x:Key="HeaderedContentControlBorderThickness">1</Thickness>
<FontWeight x:Key="HeaderedContentControlHeaderFontWeight">600</FontWeight>
<Thickness x:Key="HeaderedContentControlHeaderPadding">20</Thickness>
<Thickness x:Key="HeaderedContentControlContentPadding">20</Thickness>
</ResourceDictionary> </ResourceDictionary>

View File

@ -1,6 +1,6 @@
<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">
<!-- ListBox --> <!-- ListBox -->
<Thickness x:Key="ListBoxItemDefaultPadding">8 4</Thickness> <Thickness x:Key="ListBoxItemDefaultPadding">12 8</Thickness>
<CornerRadius x:Key="ListBoxItemCornerRadius">3</CornerRadius> <CornerRadius x:Key="ListBoxItemCornerRadius">3</CornerRadius>
</ResourceDictionary> </ResourceDictionary>