Compare commits

..

21 Commits

Author SHA1 Message Date
Zhang Dian
e7314fbc9c chore: add Avalonia Nightly repo
(cherry picked from commit 3e03cf32b5a071879315c9742aea5831339e41b9)
2026-02-10 00:34:46 +08:00
Zhang Dian
4a0da34d56 misc: bump nightly version. 2026-02-10 00:05:37 +08:00
Zhang Dian
6edfba9595 fix: update TextBox padding for improved layout consistency. (#748)
(cherry picked from commit a56b1e374a)
2026-02-10 00:01:35 +08:00
Zhang Dian
9f9ba4c91b feat: add ClearSelectionOnLostFocus property to AutoCompleteBox. (#746)
(cherry picked from commit 664d05db45)
2026-02-10 00:01:34 +08:00
Zhang Dian
5aa8e2e10d feat: Properly handle nc hit test for caption buttons. (#745)
(cherry picked from commit fdbfd91b8f)
2026-02-10 00:00:47 +08:00
Zhang Dian
755777fd73 fix: reverse TickBar when Slider direction is reversed. (#744)
(cherry picked from commit 3b0b007a40)
2026-02-10 00:00:46 +08:00
Zhang Dian
1b647f7984 fix: add AutomationProperties names to ScrollViewer controls. (#738)
(cherry picked from commit c1eff9ddf8)
2026-02-10 00:00:45 +08:00
xoma-zver
fc0fdef07f feat: add Inter font resource reference to SemiFontFamilyRegular (#722)
(cherry picked from commit 4285e6e227)
2026-02-10 00:00:43 +08:00
Zhang Dian
c61ac70125 fix: update MenuFlyout to use ShowMode for context menus in SelectableTextBlock and TextBox (#739)
(cherry picked from commit edacd88fa7)
2026-02-10 00:00:43 +08:00
Zhang Dian
d5eec907a3 fix: fix DatePicker & TimePicker to respect custom Width property. (#737)
(cherry picked from commit 136d577667)
2026-02-10 00:00:42 +08:00
Zhang Dian
ca6e04e18a Update AutoCompleteBox style to use ClassHelper for Bordered TextBox (#747)
* feat: update AutoCompleteBox style to use ClassHelper for Bordered TextBox.

* Update src/Semi.Avalonia/Controls/AutoCompleteBox.axaml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: unitize Bordered style selectors.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-09 23:29:58 +08:00
Dong Bin
f3f59bd5b2 Implement PlaceholderText (#727)
* feat: replace Watermark with PlaceholderText in AutoCompleteBox and related controls

* fix: remove duplicate PlaceholderForeground setter.
2026-02-09 15:00:07 +08:00
Zhang Dian
0f63bc68bc adjust CornerRadius & MinWidth for SplitButton (#725)
* feat: support CornerRadius for SplitButton.

* Update src/Semi.Avalonia/Controls/SplitButton.axaml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: refactor SplitButton layout to use Grid for better structure.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-07 16:51:27 +08:00
Zhang Dian
f46bd16904 misc: update XML namespace references and converters in XAML files. (#726) 2026-02-06 23:09:13 +08:00
Zhang Dian
ddad2a80d5 chore: fix conflict typos. 2026-02-06 21:50:08 +08:00
Zhang Dian
e10e83d282 misc: add SemiBorderRadiusSpacingExtraSmall for tokens. 2026-02-06 21:40:49 +08:00
Zhang Dian
9de52992b4 misc: remove useless theme. 2026-02-06 21:39:29 +08:00
Zhang Dian
61fef49023 misc: using AvaloniaUseCompiledBindingsByDefault. 2026-02-06 21:38:48 +08:00
Zhang Dian
05385a733c feat: colorpicker reference Shared package. 2026-02-06 21:35:03 +08:00
Zhang Dian
646c9c0dbb feat: add GroupBox. 2026-02-06 21:24:43 +08:00
Zhang Dian
925c368c53 chore: ready for 12.0.x. 2026-02-06 20:24:35 +08:00
10 changed files with 225 additions and 195 deletions

View File

@@ -1,7 +1,7 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally> <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<AvaloniaVersion>12.0.0-preview1</AvaloniaVersion> <AvaloniaVersion>12.0.999-cibuild0061987-alpha</AvaloniaVersion>
<DataGridVersion>11.3.10</DataGridVersion> <DataGridVersion>11.3.10</DataGridVersion>
<SkiaSharpVersion>3.119.1</SkiaSharpVersion> <SkiaSharpVersion>3.119.1</SkiaSharpVersion>
</PropertyGroup> </PropertyGroup>

View File

@@ -22,7 +22,7 @@ public partial class App : Application
case IClassicDesktopStyleApplicationLifetime desktop: case IClassicDesktopStyleApplicationLifetime desktop:
// Line below is needed to remove Avalonia data validation. // Line below is needed to remove Avalonia data validation.
// Without this line you will get duplicate validations from both Avalonia and CT // Without this line you will get duplicate validations from both Avalonia and CT
// BindingPlugins.DataValidators.RemoveAt(0); BindingPlugins.DataValidators.RemoveAt(0);
desktop.MainWindow = new MainWindow(); desktop.MainWindow = new MainWindow();
break; break;
case ISingleViewApplicationLifetime singleView: case ISingleViewApplicationLifetime singleView:

View File

@@ -1,7 +1,7 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally> <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<AvaloniaVersion>12.0.0-preview1</AvaloniaVersion> <AvaloniaVersion>12.0.999-cibuild0061987-alpha</AvaloniaVersion>
<DataGridVersion>11.3.7</DataGridVersion> <DataGridVersion>11.3.7</DataGridVersion>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
@@ -9,6 +9,6 @@
<PackageVersion Include="Avalonia.Controls.ColorPicker" Version="$(AvaloniaVersion)"/> <PackageVersion Include="Avalonia.Controls.ColorPicker" Version="$(AvaloniaVersion)"/>
<PackageVersion Include="Avalonia.Controls.DataGrid" Version="$(DataGridVersion)"/> <PackageVersion Include="Avalonia.Controls.DataGrid" Version="$(DataGridVersion)"/>
<PackageVersion Include="Avalonia.Controls.TreeDataGrid" Version="11.1.1"/> <PackageVersion Include="Avalonia.Controls.TreeDataGrid" Version="11.1.1"/>
<PackageVersion Include="Irihi.Avalonia.Shared" Version="0.4.0-preview1"/> <PackageVersion Include="Irihi.Avalonia.Shared" Version="0.4.0-nightly-20260206184422"/>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net8.0;net10.0</TargetFrameworks> <TargetFramework>net8.0</TargetFramework>
<Version>12.0.0-preview1</Version> <Version>12.0.0-nightly-20260210000416</Version>
<PackageReleaseNotes>Update to Semi.Avalonia.ColorPicker 12.0.0-preview1</PackageReleaseNotes> <PackageReleaseNotes>Update to Semi.Avalonia.ColorPicker 12.0.0-nightly-20260210000416</PackageReleaseNotes>
<Title>Semi.Avalonia.ColorPicker</Title> <Title>Semi.Avalonia.ColorPicker</Title>
</PropertyGroup> </PropertyGroup>

View File

@@ -2,8 +2,8 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;net6.0;net8.0</TargetFrameworks> <TargetFrameworks>netstandard2.0;net6.0;net8.0</TargetFrameworks>
<Version>11.3.7.3</Version> <Version>11.3.7.2</Version>
<PackageReleaseNotes>Update to Semi.Avalonia.DataGrid 11.3.7.3</PackageReleaseNotes> <PackageReleaseNotes>Update to Semi.Avalonia.DataGrid 11.3.7.2</PackageReleaseNotes>
<Title>Semi.Avalonia.DataGrid</Title> <Title>Semi.Avalonia.DataGrid</Title>
</PropertyGroup> </PropertyGroup>

View File

@@ -4,54 +4,87 @@
xmlns:semi="https://irihi.tech/semi" xmlns:semi="https://irihi.tech/semi"
xmlns:converters="using:Avalonia.Controls.Converters"> xmlns:converters="using:Avalonia.Controls.Converters">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Width="400" Margin="20"> <StackPanel Margin="20" Spacing="20">
<ProgressBar /> <ProgressBar
<ProgressBar Value="20" /> Width="200"
<ProgressBar Value="50" Classes="Success" /> Maximum="100"
<ProgressBar Value="80" Classes="Warning" /> Minimum="0"
<ProgressBar Value="100" Classes="Error" /> ShowProgressText="True"
<ProgressBar ShowProgressText="True" /> Value="20" />
<ProgressBar Value="20" ShowProgressText="True" /> <ProgressBar
<ProgressBar Value="50" Classes="Success" ShowProgressText="True" /> Width="200"
<ProgressBar Value="80" Classes="Warning" ShowProgressText="True" /> IsIndeterminate="True"
<ProgressBar Value="100" Classes="Error" ShowProgressText="True" /> Maximum="100"
<ProgressBar Classes="Left" ShowProgressText="True" /> Minimum="0"
<ProgressBar Value="20" Classes="Left" ShowProgressText="True" /> ShowProgressText="True"
<ProgressBar Value="50" Classes="Left Success" ShowProgressText="True" /> Value="20" />
<ProgressBar Value="80" Classes="Left Warning" ShowProgressText="True" /> <ProgressBar
<ProgressBar Value="100" Classes="Left Error" ShowProgressText="True" /> Width="200"
<ProgressBar Classes="Right" ShowProgressText="True" /> Classes="Left"
<ProgressBar Value="20" Classes="Right" ShowProgressText="True" /> IsIndeterminate="True"
<ProgressBar Value="50" Classes="Right Success" ShowProgressText="True" /> Maximum="100"
<ProgressBar Value="80" Classes="Right Warning" ShowProgressText="True" /> Minimum="0"
<ProgressBar Value="100" Classes="Right Error" ShowProgressText="True" /> ShowProgressText="True"
Value="20" />
<StackPanel Orientation="Horizontal"> <ProgressBar
<StackPanel.Styles> Width="200"
<Style Selector="ProgressBar"> Classes="Left"
<Setter Property="Orientation" Value="Vertical" /> Maximum="100"
</Style> Minimum="0"
</StackPanel.Styles> ShowProgressText="True"
<ProgressBar /> Value="20" />
<ProgressBar Value="20" /> <ProgressBar
<ProgressBar Value="50" Classes="Success" /> Width="200"
<ProgressBar Value="80" Classes="Warning" /> Classes="Right"
<ProgressBar Value="100" Classes="Error" /> Maximum="100"
<ProgressBar ShowProgressText="True" /> Minimum="0"
<ProgressBar Value="20" ShowProgressText="True" /> ShowProgressText="True"
<ProgressBar Value="50" Classes="Success" ShowProgressText="True" /> Value="20" />
<ProgressBar Value="80" Classes="Warning" ShowProgressText="True" /> <StackPanel
<ProgressBar Value="100" Classes="Error" ShowProgressText="True" /> HorizontalAlignment="Left"
<ProgressBar Classes="Top" ShowProgressText="True" /> Orientation="Horizontal"
<ProgressBar Value="20" Classes="Top" ShowProgressText="True" /> Spacing="20">
<ProgressBar Value="50" Classes="Top Success" ShowProgressText="True" /> <ProgressBar
<ProgressBar Value="80" Classes="Top Warning" ShowProgressText="True" /> Classes="Left"
<ProgressBar Value="100" Classes="Top Error" ShowProgressText="True" /> Maximum="100"
<ProgressBar Classes="Bottom" ShowProgressText="True" /> Minimum="0"
<ProgressBar Value="20" Classes="Bottom" ShowProgressText="True" /> Orientation="Vertical"
<ProgressBar Value="50" Classes="Bottom Success" ShowProgressText="True" /> ShowProgressText="True"
<ProgressBar Value="80" Classes="Bottom Warning" ShowProgressText="True" /> Value="20" />
<ProgressBar Value="100" Classes="Bottom Error" ShowProgressText="True" /> <ProgressBar
Classes="Right"
Maximum="100"
Minimum="0"
Orientation="Vertical"
ShowProgressText="True"
Value="20" />
<ProgressBar
Maximum="100"
Minimum="0"
Orientation="Vertical"
ShowProgressText="True"
Value="20" />
<ProgressBar
Classes="Left"
Maximum="100"
Minimum="0"
Orientation="Vertical"
ShowProgressText="False"
Value="20" />
<ProgressBar
IsIndeterminate="True"
Maximum="100"
Minimum="0"
Orientation="Vertical"
ShowProgressText="True"
Value="20" />
<ProgressBar
IsIndeterminate="True"
Maximum="100"
Minimum="0"
Orientation="Vertical"
ShowProgressText="False"
Value="20" />
</StackPanel> </StackPanel>
</StackPanel> </StackPanel>
</Design.PreviewWith> </Design.PreviewWith>
@@ -82,7 +115,7 @@
<Panel Name="DeterminateRoot" Opacity="1"> <Panel Name="DeterminateRoot" Opacity="1">
<Panel.Transitions> <Panel.Transitions>
<Transitions> <Transitions>
<DoubleTransition Property="Opacity" Duration="0:0:0.2" /> <DoubleTransition Property="Opacity" Duration="0:0:0.197" />
</Transitions> </Transitions>
</Panel.Transitions> </Panel.Transitions>
<Border <Border
@@ -94,7 +127,7 @@
<Panel Name="IndeterminateRoot" Opacity="0"> <Panel Name="IndeterminateRoot" Opacity="0">
<Panel.Transitions> <Panel.Transitions>
<Transitions> <Transitions>
<DoubleTransition Property="Opacity" Duration="0:0:0.2" /> <DoubleTransition Property="Opacity" Duration="0:0:0.197" />
</Transitions> </Transitions>
</Panel.Transitions> </Panel.Transitions>
<Border <Border
@@ -125,7 +158,7 @@
<TextBlock.Text> <TextBlock.Text>
<MultiBinding Converter="{StaticResource StringFormatConverter}"> <MultiBinding Converter="{StaticResource StringFormatConverter}">
<TemplateBinding Property="ProgressTextFormat" /> <TemplateBinding Property="ProgressTextFormat" />
<TemplateBinding Property="Value" /> <Binding Path="Value" RelativeSource="{RelativeSource TemplatedParent}" />
<TemplateBinding Property="Percentage" /> <TemplateBinding Property="Percentage" />
<TemplateBinding Property="Minimum" /> <TemplateBinding Property="Minimum" />
<TemplateBinding Property="Maximum" /> <TemplateBinding Property="Maximum" />
@@ -158,155 +191,149 @@
<Style Selector="^.Error"> <Style Selector="^.Error">
<Setter Property="Foreground" Value="{DynamicResource ProgressBarErrorForeground}" /> <Setter Property="Foreground" Value="{DynamicResource ProgressBarErrorForeground}" />
</Style> </Style>
<Style Selector="^:horizontal /template/ Border#PART_Indicator">
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Stretch" />
</Style>
<Style Selector="^:vertical /template/ Border#PART_Indicator">
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="VerticalAlignment" Value="Top" />
</Style>
<Style Selector="^:horizontal"> <Style Selector="^:horizontal">
<Setter Property="MinWidth" Value="200" /> <Setter Property="MinWidth" Value="200" />
<Setter Property="MinHeight" Value="4" /> <Setter Property="MinHeight" Value="4" />
<Style Selector="^ /template/ Border#PART_Indicator">
<Setter Property="HorizontalAlignment" Value="Left" />
</Style>
<Style Selector="^ /template/ Border#IndeterminateProgressBarIndicator">
<Setter Property="Width" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerWidth}" />
</Style>
<Style Selector="^ /template/ Border#IndeterminateProgressBarIndicator2">
<Setter Property="Width" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2Width}" />
</Style>
<Style Selector="^.Left,^.Top">
<Style Selector="^ /template/ LayoutTransformControl#PART_LayoutTransformControl">
<Setter Property="Grid.Column" Value="0" />
<Setter Property="Grid.Row" Value="1" />
<Setter Property="Margin" Value="0 0 16 0" />
<Setter Property="MinWidth" Value="45" />
</Style>
<Style Selector="^ /template/ Border#ProgressBarRoot">
<Setter Property="MinHeight" Value="4" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</Style>
<Style Selector="^.Right,^.Bottom">
<Style Selector="^ /template/ LayoutTransformControl#PART_LayoutTransformControl">
<Setter Property="Grid.Column" Value="2" />
<Setter Property="Grid.Row" Value="1" />
<Setter Property="Margin" Value="16 0 0 0" />
<Setter Property="MinWidth" Value="45" />
</Style>
<Style Selector="^ /template/ Border#ProgressBarRoot">
<Setter Property="MinHeight" Value="4" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
</Style>
</Style> </Style>
<Style Selector="^:vertical"> <Style Selector="^:vertical">
<Style Selector="^ /template/ LayoutTransformControl#PART_LayoutTransformControl">
<Setter Property="LayoutTransform">
<RotateTransform Angle="90" />
</Setter>
</Style>
<Setter Property="MinWidth" Value="4" /> <Setter Property="MinWidth" Value="4" />
<Setter Property="MinHeight" Value="200" /> <Setter Property="MinHeight" Value="200" />
<Style Selector="^ /template/ Border#PART_Indicator"> </Style>
<Setter Property="VerticalAlignment" Value="Top" /> <Style Selector="^:vertical /template/ LayoutTransformControl#PART_LayoutTransformControl">
<Setter Property="LayoutTransform">
<RotateTransform Angle="90" />
</Setter>
</Style>
<Style Selector="^:indeterminate /template/ Panel#DeterminateRoot">
<Setter Property="Opacity" Value="0" />
</Style>
<Style Selector="^:indeterminate /template/ Panel#IndeterminateRoot">
<Setter Property="Opacity" Value="1" />
</Style>
<Style Selector="^:horizontal:indeterminate /template/ Border#IndeterminateProgressBarIndicator">
<Style.Animations>
<Animation IterationCount="Infinite" Duration="0:0:2">
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:0">
<Setter Property="TranslateTransform.X" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerAnimationStartPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:1.5">
<Setter Property="TranslateTransform.X" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerAnimationEndPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:2">
<Setter Property="TranslateTransform.X" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerAnimationEndPosition}" />
</KeyFrame>
</Animation>
</Style.Animations>
</Style>
<Style Selector="^:horizontal:indeterminate /template/ Border#IndeterminateProgressBarIndicator2">
<Style.Animations>
<Animation IterationCount="Infinite" Duration="0:0:2">
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:0">
<Setter Property="TranslateTransform.X" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2AnimationStartPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:0.75">
<Setter Property="TranslateTransform.X" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2AnimationStartPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:2">
<Setter Property="TranslateTransform.X" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2AnimationEndPosition}" />
</KeyFrame>
</Animation>
</Style.Animations>
</Style>
<Style Selector="^:vertical:indeterminate /template/ Border#IndeterminateProgressBarIndicator">
<Style.Animations>
<Animation IterationCount="Infinite" Duration="0:0:2">
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:0">
<Setter Property="TranslateTransform.Y" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerAnimationStartPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:1.5">
<Setter Property="TranslateTransform.Y" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerAnimationEndPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:2">
<Setter Property="TranslateTransform.Y" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerAnimationEndPosition}" />
</KeyFrame>
</Animation>
</Style.Animations>
</Style>
<Style Selector="^:vertical:indeterminate /template/ Border#IndeterminateProgressBarIndicator2">
<Style.Animations>
<Animation IterationCount="Infinite" Duration="0:0:2">
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:0">
<Setter Property="TranslateTransform.Y" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2AnimationStartPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:0.75">
<Setter Property="TranslateTransform.Y" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2AnimationStartPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:2">
<Setter Property="TranslateTransform.Y" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2AnimationEndPosition}" />
</KeyFrame>
</Animation>
</Style.Animations>
</Style>
<Style Selector="^:horizontal /template/ Border#IndeterminateProgressBarIndicator">
<Setter Property="Width" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerWidth}" />
</Style>
<Style Selector="^:horizontal /template/ Border#IndeterminateProgressBarIndicator2">
<Setter Property="Width" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2Width}" />
</Style>
<Style Selector="^:vertical /template/ Border#IndeterminateProgressBarIndicator">
<Setter Property="Height" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerWidth}" />
</Style>
<Style Selector="^:vertical /template/ Border#IndeterminateProgressBarIndicator2">
<Setter Property="Height" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2Width}" />
</Style>
<Style Selector="^.Left">
<Style Selector="^:horizontal /template/ LayoutTransformControl#PART_LayoutTransformControl">
<Setter Property="Grid.Column" Value="0" />
<Setter Property="Grid.Row" Value="1" />
<Setter Property="Margin" Value="4 0" />
</Style> </Style>
<Style Selector="^ /template/ Border#IndeterminateProgressBarIndicator"> <Style Selector="^:vertical /template/ LayoutTransformControl#PART_LayoutTransformControl">
<Setter Property="Height" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerWidth}" /> <Setter Property="Grid.Column" Value="1" />
<Setter Property="Grid.Row" Value="0" />
<Setter Property="Margin" Value="0 4" />
</Style> </Style>
<Style Selector="^ /template/ Border#IndeterminateProgressBarIndicator2"> <Style Selector="^:horizontal /template/ Border#ProgressBarRoot">
<Setter Property="Height" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2Width}" /> <Setter Property="MinHeight" Value="4" />
<Setter Property="VerticalAlignment" Value="Center" />
</Style> </Style>
<Style Selector="^.Left,^.Top"> <Style Selector="^:vertical /template/ Border#ProgressBarRoot">
<Style Selector="^ /template/ LayoutTransformControl#PART_LayoutTransformControl"> <Setter Property="MinWidth" Value="4" />
<Setter Property="Grid.Column" Value="1" /> <Setter Property="HorizontalAlignment" Value="Center" />
<Setter Property="Grid.Row" Value="0" />
<Setter Property="Margin" Value="0 0 0 16" />
<Setter Property="MinHeight" Value="45" />
</Style>
<Style Selector="^ /template/ Border#ProgressBarRoot">
<Setter Property="MinWidth" Value="4" />
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
</Style> </Style>
<Style Selector="^.Right,^.Bottom"> <Style Selector="^ /template/ TextBlock#PART_ProgressText">
<Style Selector="^ /template/ LayoutTransformControl#PART_LayoutTransformControl"> <Setter Property="Foreground" Value="{DynamicResource ProgressBarOuterTextForeground}" />
<Setter Property="Grid.Column" Value="1" />
<Setter Property="Grid.Row" Value="2" />
<Setter Property="Margin" Value="0 16 0 0" />
<Setter Property="MinHeight" Value="45" />
</Style>
<Style Selector="^ /template/ Border#ProgressBarRoot">
<Setter Property="MinWidth" Value="4" />
<Setter Property="HorizontalAlignment" Value="Center" />
</Style>
</Style> </Style>
</Style> </Style>
<Style Selector="^.Right">
<Style Selector="^:indeterminate"> <Style Selector="^:horizontal /template/ LayoutTransformControl#PART_LayoutTransformControl">
<Style Selector="^ /template/ Panel#DeterminateRoot"> <Setter Property="Grid.Column" Value="2" />
<Setter Property="Opacity" Value="0" /> <Setter Property="Grid.Row" Value="1" />
<Setter Property="Margin" Value="4 0" />
</Style> </Style>
<Style Selector="^ /template/ Panel#IndeterminateRoot"> <Style Selector="^:vertical /template/ LayoutTransformControl#PART_LayoutTransformControl">
<Setter Property="Opacity" Value="1" /> <Setter Property="Grid.Column" Value="1" />
<Setter Property="Grid.Row" Value="2" />
<Setter Property="Margin" Value="0 4" />
</Style> </Style>
<Style Selector="^:horizontal /template/ Border#IndeterminateProgressBarIndicator"> <Style Selector="^:horizontal /template/ Border#ProgressBarRoot">
<Style.Animations> <Setter Property="MinHeight" Value="4" />
<Animation IterationCount="Infinite" Duration="0:0:2"> <Setter Property="VerticalAlignment" Value="Center" />
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:0">
<Setter Property="TranslateTransform.X" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerAnimationStartPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:1.5">
<Setter Property="TranslateTransform.X" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerAnimationEndPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:2">
<Setter Property="TranslateTransform.X" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerAnimationEndPosition}" />
</KeyFrame>
</Animation>
</Style.Animations>
</Style> </Style>
<Style Selector="^:horizontal /template/ Border#IndeterminateProgressBarIndicator2"> <Style Selector="^:vertical /template/ Border#ProgressBarRoot">
<Style.Animations> <Setter Property="MinWidth" Value="4" />
<Animation IterationCount="Infinite" Duration="0:0:2"> <Setter Property="HorizontalAlignment" Value="Center" />
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:0">
<Setter Property="TranslateTransform.X" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2AnimationStartPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:0.75">
<Setter Property="TranslateTransform.X" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2AnimationStartPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:2">
<Setter Property="TranslateTransform.X" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2AnimationEndPosition}" />
</KeyFrame>
</Animation>
</Style.Animations>
</Style> </Style>
<Style Selector="^:vertical /template/ Border#IndeterminateProgressBarIndicator"> <Style Selector="^ /template/ TextBlock#PART_ProgressText">
<Style.Animations> <Setter Property="Foreground" Value="{DynamicResource ProgressBarOuterTextForeground}" />
<Animation IterationCount="Infinite" Duration="0:0:2">
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:0">
<Setter Property="TranslateTransform.Y" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerAnimationStartPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:1.5">
<Setter Property="TranslateTransform.Y" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerAnimationEndPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:2">
<Setter Property="TranslateTransform.Y" Value="{Binding $parent[ProgressBar].TemplateSettings.ContainerAnimationEndPosition}" />
</KeyFrame>
</Animation>
</Style.Animations>
</Style>
<Style Selector="^:vertical /template/ Border#IndeterminateProgressBarIndicator2">
<Style.Animations>
<Animation IterationCount="Infinite" Duration="0:0:2">
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:0">
<Setter Property="TranslateTransform.Y" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2AnimationStartPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:0.75">
<Setter Property="TranslateTransform.Y" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2AnimationStartPosition}" />
</KeyFrame>
<KeyFrame KeySpline="0.4,0,0.6,1" KeyTime="0:0:2">
<Setter Property="TranslateTransform.Y" Value="{Binding $parent[ProgressBar].TemplateSettings.Container2AnimationEndPosition}" />
</KeyFrame>
</Animation>
</Style.Animations>
</Style> </Style>
</Style> </Style>
</ControlTheme> </ControlTheme>

View File

@@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net8.0;net10.0</TargetFrameworks> <TargetFramework>net8.0</TargetFramework>
<Version>12.0.0-preview1</Version> <Version>12.0.0-nightly-20260210000416</Version>
<PackageReleaseNotes>Update to Semi.Avalonia 12.0.0-preview1</PackageReleaseNotes> <PackageReleaseNotes>Update to Semi.Avalonia 12.0.0-nightly-20260210000416</PackageReleaseNotes>
<Title>Semi.Avalonia</Title> <Title>Semi.Avalonia</Title>
</PropertyGroup> </PropertyGroup>

View File

@@ -2,6 +2,7 @@
<StaticResource x:Key="ProgressBarIndicatorBrush" ResourceKey="SemiColorPrimary" /> <StaticResource x:Key="ProgressBarIndicatorBrush" ResourceKey="SemiColorPrimary" />
<StaticResource x:Key="ProgressBarBackground" ResourceKey="SemiColorFill0" /> <StaticResource x:Key="ProgressBarBackground" ResourceKey="SemiColorFill0" />
<StaticResource x:Key="ProgressBarTextForeground" ResourceKey="SemiColorText0" /> <StaticResource x:Key="ProgressBarTextForeground" ResourceKey="SemiColorText0" />
<StaticResource x:Key="ProgressBarOuterTextForeground" ResourceKey="SemiColorText0" />
<SolidColorBrush x:Key="ProgressBarRootBorderBrush" Color="Transparent" /> <SolidColorBrush x:Key="ProgressBarRootBorderBrush" Color="Transparent" />
<StaticResource x:Key="ProgressBarPrimaryForeground" ResourceKey="SemiColorPrimary" /> <StaticResource x:Key="ProgressBarPrimaryForeground" ResourceKey="SemiColorPrimary" />
<StaticResource x:Key="ProgressBarSecondaryForeground" ResourceKey="SemiColorSecondary" /> <StaticResource x:Key="ProgressBarSecondaryForeground" ResourceKey="SemiColorSecondary" />

View File

@@ -2,6 +2,7 @@
<StaticResource x:Key="ProgressBarIndicatorBrush" ResourceKey="SemiColorHighlight" /> <StaticResource x:Key="ProgressBarIndicatorBrush" ResourceKey="SemiColorHighlight" />
<StaticResource x:Key="ProgressBarBackground" ResourceKey="SemiColorHighlightText" /> <StaticResource x:Key="ProgressBarBackground" ResourceKey="SemiColorHighlightText" />
<StaticResource x:Key="ProgressBarTextForeground" ResourceKey="SemiColorWindowText" /> <StaticResource x:Key="ProgressBarTextForeground" ResourceKey="SemiColorWindowText" />
<StaticResource x:Key="ProgressBarOuterTextForeground" ResourceKey="SemiColorWindowText" />
<StaticResource x:Key="ProgressBarRootBorderBrush" ResourceKey="SemiColorWindowText" /> <StaticResource x:Key="ProgressBarRootBorderBrush" ResourceKey="SemiColorWindowText" />
<StaticResource x:Key="ProgressBarPrimaryForeground" ResourceKey="SemiColorHighlight" /> <StaticResource x:Key="ProgressBarPrimaryForeground" ResourceKey="SemiColorHighlight" />
</ResourceDictionary> </ResourceDictionary>

View File

@@ -2,6 +2,7 @@
<StaticResource x:Key="ProgressBarIndicatorBrush" ResourceKey="SemiColorPrimary" /> <StaticResource x:Key="ProgressBarIndicatorBrush" ResourceKey="SemiColorPrimary" />
<StaticResource x:Key="ProgressBarBackground" ResourceKey="SemiColorFill0" /> <StaticResource x:Key="ProgressBarBackground" ResourceKey="SemiColorFill0" />
<StaticResource x:Key="ProgressBarTextForeground" ResourceKey="SemiColorText0" /> <StaticResource x:Key="ProgressBarTextForeground" ResourceKey="SemiColorText0" />
<StaticResource x:Key="ProgressBarOuterTextForeground" ResourceKey="SemiColorText0" />
<SolidColorBrush x:Key="ProgressBarRootBorderBrush" Color="Transparent" /> <SolidColorBrush x:Key="ProgressBarRootBorderBrush" Color="Transparent" />
<StaticResource x:Key="ProgressBarPrimaryForeground" ResourceKey="SemiColorPrimary" /> <StaticResource x:Key="ProgressBarPrimaryForeground" ResourceKey="SemiColorPrimary" />
<StaticResource x:Key="ProgressBarSecondaryForeground" ResourceKey="SemiColorSecondary" /> <StaticResource x:Key="ProgressBarSecondaryForeground" ResourceKey="SemiColorSecondary" />