Compare commits

..

2 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
6c8f3a4772 Implement parent culture fallback for OverrideLocaleResources
Co-authored-by: rabbitism <14807942+rabbitism@users.noreply.github.com>
2025-07-28 15:18:47 +00:00
copilot-swe-agent[bot]
8ac1e010a3 Initial plan 2025-07-28 15:05:58 +00:00
113 changed files with 718 additions and 1053 deletions

View File

@@ -1,7 +1,7 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<AvaloniaVersion>11.3.7</AvaloniaVersion> <AvaloniaVersion>11.3.0</AvaloniaVersion>
<DataGridVersion>11.3.7</DataGridVersion> <DataGridVersion>11.3.0</DataGridVersion>
<CommunityToolkitVersion>8.4.0</CommunityToolkitVersion> <CommunityToolkitVersion>8.4.0</CommunityToolkitVersion>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 717 B

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

@@ -14,7 +14,9 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<AndroidResource Include="Icon.png" Link="Resources\drawable\Icon.png"/> <AndroidResource Include="Icon.png">
<Link>Resources\drawable\Icon.png</Link>
</AndroidResource>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@@ -4,7 +4,6 @@
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<BuiltInComInteropSupport>true</BuiltInComInteropSupport> <BuiltInComInteropSupport>true</BuiltInComInteropSupport>
<ApplicationIcon>..\Semi.Avalonia.Demo\Assets\irihi.ico</ApplicationIcon>
<!-- Uncomment below to enable Native AOT compilation--> <!-- Uncomment below to enable Native AOT compilation-->
<!--<PublishAot>true</PublishAot>--> <!--<PublishAot>true</PublishAot>-->
</PropertyGroup> </PropertyGroup>

View File

@@ -4,7 +4,6 @@
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<BuiltInComInteropSupport>true</BuiltInComInteropSupport> <BuiltInComInteropSupport>true</BuiltInComInteropSupport>
<ApplicationIcon>..\Semi.Avalonia.Demo\Assets\irihi.ico</ApplicationIcon>
<!-- Uncomment below to enable Native AOT compilation--> <!-- Uncomment below to enable Native AOT compilation-->
<!--<PublishAot>true</PublishAot>--> <!--<PublishAot>true</PublishAot>-->
</PropertyGroup> </PropertyGroup>

View File

@@ -1,11 +1,11 @@
<Application <Application
Name="Semi Avalonia Demo"
x:Class="Semi.Avalonia.Demo.App" x:Class="Semi.Avalonia.Demo.App"
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"
x:CompileBindings="True"
x:DataType="viewModels:ApplicationViewModel"
xmlns:semi="https://irihi.tech/semi" xmlns:semi="https://irihi.tech/semi"
xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels" xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels">
x:DataType="vm:ApplicationViewModel">
<Application.Styles> <Application.Styles>
<semi:SemiTheme Locale="zh-CN" /> <semi:SemiTheme Locale="zh-CN" />
<semi:SemiPopupAnimations /> <semi:SemiPopupAnimations />
@@ -20,30 +20,12 @@
</ResourceDictionary.MergedDictionaries> </ResourceDictionary.MergedDictionaries>
</ResourceDictionary> </ResourceDictionary>
</Application.Resources> </Application.Resources>
<NativeMenu.Menu>
<NativeMenu>
<NativeMenuItem
Header="About Us"
Command="{Binding JumpToCommand}"
CommandParameter="{Binding $self.Header}" />
</NativeMenu>
</NativeMenu.Menu>
<TrayIcon.Icons> <TrayIcon.Icons>
<TrayIcons> <TrayIcons>
<TrayIcon <TrayIcon Icon="/Assets/irihi.ico" MacOSProperties.IsTemplateIcon="true" ToolTipText="Semi Avalonia Demo">
Icon="{OnPlatform Default=/Assets/irihi.ico, macOS=/Assets/irihi2.ico}"
MacOSProperties.IsTemplateIcon="true"
Command="{Binding ActivateCommand}"
ToolTipText="Semi Avalonia Demo">
<TrayIcon.Menu> <TrayIcon.Menu>
<NativeMenu> <NativeMenu>
<NativeMenuItem <NativeMenuItem Header="Exit" Command="{Binding ExitCommand}" />
Header="About Us"
Command="{Binding JumpToCommand}"
CommandParameter="{Binding $self.Header}" />
<NativeMenuItem
Header="Exit"
Command="{Binding ExitCommand}" />
</NativeMenu> </NativeMenu>
</TrayIcon.Menu> </TrayIcon.Menu>
</TrayIcon> </TrayIcon>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 948 B

View File

@@ -8,6 +8,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels" xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels"
x:DataType="vm:AboutUsViewModel" x:DataType="vm:AboutUsViewModel"
x:CompileBindings="True"
d:DesignHeight="450" d:DesignHeight="450"
d:DesignWidth="800" d:DesignWidth="800"
mc:Ignorable="d"> mc:Ignorable="d">

View File

@@ -7,6 +7,7 @@
xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels" xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels"
d:DesignHeight="450" d:DesignHeight="450"
d:DesignWidth="800" d:DesignWidth="800"
x:CompileBindings="False"
x:DataType="vm:AutoCompleteBoxDemoViewModel" x:DataType="vm:AutoCompleteBoxDemoViewModel"
mc:Ignorable="d"> mc:Ignorable="d">
<Design.DataContext> <Design.DataContext>
@@ -29,40 +30,40 @@
<AutoCompleteBox <AutoCompleteBox
Watermark="Please select a State" Watermark="Please select a State"
ValueMemberBinding="{Binding Name,DataType=vm:StateData}" /> ValueMemberBinding="{Binding Name}" />
<AutoCompleteBox <AutoCompleteBox
Classes="Large" Classes="Large"
ValueMemberBinding="{Binding Name,DataType=vm:StateData}" /> ValueMemberBinding="{ReflectionBinding Name}" />
<AutoCompleteBox <AutoCompleteBox
Classes="Small" Classes="Small"
ValueMemberBinding="{Binding Name,DataType=vm:StateData}" /> ValueMemberBinding="{ReflectionBinding Name}" />
<AutoCompleteBox <AutoCompleteBox
Classes="Bordered" Classes="Bordered"
ValueMemberBinding="{Binding Name,DataType=vm:StateData}" /> ValueMemberBinding="{ReflectionBinding Name}" />
<AutoCompleteBox <AutoCompleteBox
IsEnabled="False" IsEnabled="False"
Watermark="Disabled" Watermark="Disabled"
ValueMemberBinding="{Binding Name,DataType=vm:StateData}" /> ValueMemberBinding="{ReflectionBinding Name}" />
<AutoCompleteBox <AutoCompleteBox
InnerLeftContent="https://" InnerLeftContent="https://"
InnerRightContent=".com" InnerRightContent=".com"
ValueMemberBinding="{Binding Name,DataType=vm:StateData}" /> ValueMemberBinding="{ReflectionBinding Name}" />
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
<AutoCompleteBox <AutoCompleteBox
Width="100" Width="100"
Classes="Large" Classes="Large"
Watermark="Large" Watermark="Large"
ValueMemberBinding="{Binding Name,DataType=vm:StateData}" /> ValueMemberBinding="{ReflectionBinding Name}" />
<AutoCompleteBox <AutoCompleteBox
Width="100" Width="100"
Watermark="Default" Watermark="Default"
ValueMemberBinding="{Binding Name,DataType=vm:StateData}" /> ValueMemberBinding="{ReflectionBinding Name}" />
<AutoCompleteBox <AutoCompleteBox
Width="100" Width="100"
Classes="Small" Classes="Small"
Watermark="Small" Watermark="Small"
ValueMemberBinding="{Binding Name,DataType=vm:StateData}" /> ValueMemberBinding="{ReflectionBinding Name}" />
</StackPanel> </StackPanel>
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
@@ -70,17 +71,17 @@
Width="100" Width="100"
IsEnabled="False" IsEnabled="False"
Watermark="Disabled" Watermark="Disabled"
ValueMemberBinding="{Binding Name,DataType=vm:StateData}" /> ValueMemberBinding="{ReflectionBinding Name}" />
<AutoCompleteBox <AutoCompleteBox
Width="100" Width="100"
Classes="Bordered" Classes="Bordered"
Watermark="Bordered" Watermark="Bordered"
ValueMemberBinding="{Binding Name,DataType=vm:StateData}" /> ValueMemberBinding="{ReflectionBinding Name}" />
<AutoCompleteBox <AutoCompleteBox
Width="100" Width="100"
Classes="Bordered" Classes="Bordered"
IsEnabled="False" IsEnabled="False"
ValueMemberBinding="{Binding Name,DataType=vm:StateData}" /> ValueMemberBinding="{ReflectionBinding Name}" />
</StackPanel> </StackPanel>
</StackPanel> </StackPanel>

View File

@@ -8,10 +8,6 @@
d:DesignWidth="800" d:DesignWidth="800"
mc:Ignorable="d"> mc:Ignorable="d">
<StackPanel HorizontalAlignment="Left" Spacing="20"> <StackPanel HorizontalAlignment="Left" Spacing="20">
<StackPanel Orientation="Horizontal">
<ToggleSwitch Name="showSpinCheck" IsChecked="True" Content="Show Button Spinner" />
<ToggleSwitch Name="allowSpinCheck" IsChecked="True" Content="Allow Spin" />
</StackPanel>
<ButtonSpinner <ButtonSpinner
Height="30" Height="30"
AllowSpin="{Binding #allowSpinCheck.IsChecked}" AllowSpin="{Binding #allowSpinCheck.IsChecked}"

View File

@@ -7,51 +7,46 @@
xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels" xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels"
d:DesignHeight="800" d:DesignHeight="800"
d:DesignWidth="800" d:DesignWidth="800"
mc:Ignorable="d" mc:Ignorable="d">
x:DataType="vm:ComboBoxDemoViewModel">
<Design.DataContext> <Design.DataContext>
<vm:ComboBoxDemoViewModel /> <vm:ComboBoxDemoViewModel />
</Design.DataContext> </Design.DataContext>
<ScrollViewer> <StackPanel Spacing="20">
<StackPanel Spacing="20"> <StackPanel.Styles>
<StackPanel.Styles> <Style Selector="ComboBox">
<Style Selector="ComboBox"> <Setter Property="Width" Value="300" />
<Setter Property="Width" Value="300" /> <Setter Property="ItemsSource" Value="{Binding Items}" />
<Setter Property="ItemsSource" Value="{Binding Items}" /> </Style>
</Style> </StackPanel.Styles>
</StackPanel.Styles>
<ComboBox /> <ComboBox />
<ComboBox Classes="ClearButton" /> <ComboBox Classes="ClearButton" />
<ComboBox PlaceholderText="Please Select" /> <ComboBox PlaceholderText="Please Select" />
<ComboBox IsEnabled="False" /> <ComboBox IsEnabled="False" />
<ComboBox Classes="Large" IsEnabled="False" /> <ComboBox Classes="Large" IsEnabled="False" />
<ComboBox Classes="Small" /> <ComboBox Classes="Small" />
<ComboBox Classes="Bordered" /> <ComboBox Classes="Bordered" />
<ComboBox Classes="Bordered" IsEnabled="False" /> <ComboBox Classes="Bordered" IsEnabled="False" />
<ComboBox> <ComboBox>
<ComboBox.SelectionBoxItemTemplate> <ComboBox.SelectionBoxItemTemplate>
<DataTemplate DataType="x:String"> <DataTemplate DataType="x:String">
<ContentControl BorderThickness="1" <ContentControl BorderThickness="1"
BorderBrush="Gold" BorderBrush="Gold"
Content="{Binding}" /> Content="{Binding}" />
</DataTemplate> </DataTemplate>
</ComboBox.SelectionBoxItemTemplate> </ComboBox.SelectionBoxItemTemplate>
</ComboBox> </ComboBox>
<StackPanel Orientation="Horizontal"> <StackPanel Orientation="Horizontal">
<ComboBox Width="100" Classes="Large" PlaceholderText="Large" /> <ComboBox Width="100" Classes="Large" PlaceholderText="Large" />
<ComboBox Width="100" PlaceholderText="Default" /> <ComboBox Width="100" PlaceholderText="Default" />
<ComboBox Width="100" Classes="Small" PlaceholderText="Small" /> <ComboBox Width="100" Classes="Small" PlaceholderText="Small" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<ComboBox Width="100" IsEnabled="False" PlaceholderText="Disabled" />
<ComboBox Width="100" Classes="Bordered" PlaceholderText="Bordered" />
<ComboBox Width="100" Classes="Bordered" IsEnabled="False" />
</StackPanel>
<ToggleSwitch Name="toggle" IsChecked="True" Content="IsEditable" />
<ComboBox IsEditable="{Binding #toggle.IsChecked}" />
</StackPanel> </StackPanel>
</ScrollViewer>
<StackPanel Orientation="Horizontal">
<ComboBox Width="100" IsEnabled="False" PlaceholderText="Disabled" />
<ComboBox Width="100" Classes="Bordered" PlaceholderText="Bordered" />
<ComboBox Width="100" Classes="Bordered" IsEnabled="False" />
</StackPanel>
</StackPanel>
</UserControl> </UserControl>

View File

@@ -7,6 +7,7 @@
xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels;assembly=Semi.Avalonia.Demo" xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels;assembly=Semi.Avalonia.Demo"
d:DesignHeight="450" d:DesignHeight="450"
d:DesignWidth="800" d:DesignWidth="800"
x:CompileBindings="True"
x:DataType="vm:DataGridDemoViewModel" x:DataType="vm:DataGridDemoViewModel"
mc:Ignorable="d"> mc:Ignorable="d">
<TabControl> <TabControl>

View File

@@ -8,6 +8,7 @@
xmlns:pages="clr-namespace:Semi.Avalonia.Demo.Pages" xmlns:pages="clr-namespace:Semi.Avalonia.Demo.Pages"
mc:Ignorable="d" d:DesignWidth="1000" d:DesignHeight="1450" mc:Ignorable="d" d:DesignWidth="1000" d:DesignHeight="1450"
x:DataType="vm:HighContrastDemoViewModel" x:DataType="vm:HighContrastDemoViewModel"
x:CompileBindings="True"
x:Class="Semi.Avalonia.Demo.Pages.HighContrastDemo"> x:Class="Semi.Avalonia.Demo.Pages.HighContrastDemo">
<Design.DataContext> <Design.DataContext>
<vm:HighContrastDemoViewModel /> <vm:HighContrastDemoViewModel />

View File

@@ -27,8 +27,7 @@ public partial class NotificationDemo : UserControl
if (sender is RadioButton b && b.Content is string s) if (sender is RadioButton b && b.Content is string s)
{ {
Enum.TryParse<NotificationPosition>(s, out var t); Enum.TryParse<NotificationPosition>(s, out var t);
if (_manager is not null) _manager.Position = t;
_manager.Position = t;
} }
} }

View File

@@ -9,7 +9,7 @@ public partial class Overview : UserControl
InitializeComponent(); InitializeComponent();
} }
public string MainInstall { get; set; } = "dotnet add package Semi.Avalonia"; public string MainInstall { get; set; } = "dotnet add package Semi.Avalonia --version 11.2.1.9";
public string MainStyle { get; set; } = public string MainStyle { get; set; } =
""" """
@@ -18,7 +18,7 @@ public partial class Overview : UserControl
</Application.Styles> </Application.Styles>
"""; """;
public string ColorPickerInstall { get; set; } = "dotnet add package Semi.Avalonia.ColorPicker"; public string ColorPickerInstall { get; set; } = "dotnet add package Semi.Avalonia.ColorPicker --version 11.2.1.9";
public string ColorPickerStyle { get; set; } = public string ColorPickerStyle { get; set; } =
""" """
@@ -27,7 +27,7 @@ public partial class Overview : UserControl
</Application.Styles> </Application.Styles>
"""; """;
public string DataGridInstall { get; set; } = "dotnet add package Semi.Avalonia.DataGrid"; public string DataGridInstall { get; set; } = "dotnet add package Semi.Avalonia.DataGrid --version 11.2.1.9";
public string DataGridStyle { get; set; } = public string DataGridStyle { get; set; } =
""" """
@@ -36,7 +36,7 @@ public partial class Overview : UserControl
</Application.Styles> </Application.Styles>
"""; """;
public string TreeDataGridInstall { get; set; } = "dotnet add package Semi.Avalonia.TreeDataGrid"; public string TreeDataGridInstall { get; set; } = "dotnet add package Semi.Avalonia.TreeDataGrid --version 11.0.10.4";
public string TreeDataGridStyle { get; set; } = public string TreeDataGridStyle { get; set; } =
""" """
@@ -45,7 +45,7 @@ public partial class Overview : UserControl
</Application.Styles> </Application.Styles>
"""; """;
public string DockInstall { get; set; } = "dotnet add package Semi.Avalonia.Dock"; public string DockInstall { get; set; } = "dotnet add package Semi.Avalonia.Dock --version 11.3.0";
public string DockStyle { get; set; } = public string DockStyle { get; set; } =
""" """
@@ -54,7 +54,7 @@ public partial class Overview : UserControl
</Application.Styles> </Application.Styles>
"""; """;
public string TabaloniaInstall { get; set; } = "dotnet add package Semi.Avalonia.Tabalonia"; public string TabaloniaInstall { get; set; } = "dotnet add package Semi.Avalonia.Tabalonia --version 11.0.0-beta1";
public string TabaloniaStyle { get; set; } = public string TabaloniaStyle { get; set; } =
""" """
@@ -63,7 +63,7 @@ public partial class Overview : UserControl
</Application.Styles> </Application.Styles>
"""; """;
public string AvaloniaEditInstall { get; set; } = "dotnet add package Semi.Avalonia.AvaloniaEdit"; public string AvaloniaEditInstall { get; set; } = "dotnet add package Semi.Avalonia.AvaloniaEdit --version 11.2.0";
public string AvaloniaEditStyle { get; set; } = public string AvaloniaEditStyle { get; set; } =
""" """

View File

@@ -8,6 +8,7 @@
xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels" xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels"
d:DesignHeight="450" d:DesignHeight="450"
d:DesignWidth="800" d:DesignWidth="800"
x:CompileBindings="True"
x:DataType="viewModels:PaletteDemoViewModel" x:DataType="viewModels:PaletteDemoViewModel"
mc:Ignorable="d"> mc:Ignorable="d">
<Design.DataContext> <Design.DataContext>

View File

@@ -8,6 +8,7 @@
d:DesignHeight="450" d:DesignHeight="450"
d:DesignWidth="800" d:DesignWidth="800"
x:DataType="vm:RefreshContainerDemoViewModel" x:DataType="vm:RefreshContainerDemoViewModel"
x:CompileBindings="True"
mc:Ignorable="d"> mc:Ignorable="d">
<DockPanel HorizontalAlignment="Stretch" VerticalAlignment="Top"> <DockPanel HorizontalAlignment="Stretch" VerticalAlignment="Top">
<Label DockPanel.Dock="Top">A control that supports pull to refresh</Label> <Label DockPanel.Dock="Top">A control that supports pull to refresh</Label>

View File

@@ -7,187 +7,276 @@
xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels" xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels"
d:DesignHeight="1000" d:DesignHeight="1000"
d:DesignWidth="800" d:DesignWidth="800"
x:DataType="vm:SplitViewDemoViewModel"
mc:Ignorable="d"> mc:Ignorable="d">
<Design.DataContext> <Design.DataContext>
<vm:SplitViewDemoViewModel /> <vm:SplitViewDemoViewModel />
</Design.DataContext> </Design.DataContext>
<Border> <Border>
<Grid ColumnDefinitions="*,400"> <Grid ColumnDefinitions="*,400">
<Border <Border Grid.Column="1" VerticalAlignment="Top" Margin="10 0 0 0">
Grid.Column="1" <Grid RowDefinitions="*, *, *, *, *, *" ColumnDefinitions="Auto, *">
Margin="10,0,0,0"
VerticalAlignment="Top">
<Grid ColumnDefinitions="Auto, *" RowDefinitions="*, *, *, *, *, *">
<Label <Label
Grid.Row="0" Grid.Row="0" Grid.Column="0"
Grid.Column="0"
VerticalAlignment="Center" VerticalAlignment="Center"
Content="IsPaneOpen" /> Content="IsPaneOpen" />
<ToggleSwitch <ToggleSwitch
Name="PaneOpenButton" Grid.Row="0" Grid.Column="1"
Grid.Row="0" Name="PaneOpenButton" />
Grid.Column="1" />
<Label <Label
Grid.Row="1" Grid.Row="1" Grid.Column="0"
Grid.Column="0"
VerticalAlignment="Center" VerticalAlignment="Center"
Content="UseLightDismissOverlayMode" /> Content="UseLightDismissOverlayMode" />
<ToggleSwitch <ToggleSwitch
Name="UseLightDismissOverlayModeButton" Grid.Row="1" Grid.Column="1"
Grid.Row="1" Name="UseLightDismissOverlayModeButton" />
Grid.Column="1" />
<Label <Label
Grid.Row="2" Grid.Row="2" Grid.Column="0"
Grid.Column="0"
VerticalAlignment="Center" VerticalAlignment="Center"
Content="Placement" /> Content="Placement" />
<ComboBox <ToggleSwitch
Grid.Row="2" Grid.Row="2" Grid.Column="1"
Grid.Column="1" Name="PanePlacementButton"
Name="PanelPlacementSelector" OffContent="Left"
HorizontalAlignment="Stretch" OnContent="Right" />
ItemsSource="{x:Static vm:SplitViewDemoViewModel.Placements}"
SelectedItem="{x:Static SplitViewPanePlacement.Left}"
/>
<Label <Label
Grid.Row="3" Grid.Row="3" Grid.Column="0"
Grid.Column="0"
VerticalAlignment="Center" VerticalAlignment="Center"
Content="DisplayMode" /> Content="DisplayMode" />
<ComboBox <ComboBox
Grid.Row="3" Grid.Column="1"
Name="DisplayModeSelector" Name="DisplayModeSelector"
Grid.Row="3"
Grid.Column="1"
HorizontalAlignment="Stretch" HorizontalAlignment="Stretch"
ItemsSource="{x:Static vm:SplitViewDemoViewModel.DisplayModes}" ItemsSource="{x:Static vm:SplitViewDemoViewModel.DisplayModes}"
SelectedItem="{x:Static SplitViewDisplayMode.CompactInline}" /> SelectedItem="{x:Static SplitViewDisplayMode.CompactInline}" />
<Label <Label
Grid.Row="4" Grid.Row="4" Grid.Column="0"
Grid.Column="0"
VerticalAlignment="Center" VerticalAlignment="Center"
Content="{Binding #CompactPaneLengthSlider.Value, StringFormat='{}CompactPaneLength: {0}'}" /> Content="{Binding #CompactPaneLengthSlider.Value, StringFormat='{}CompactPaneLength: {0}'}" />
<Slider <Slider
Grid.Row="4" Grid.Column="1"
Name="CompactPaneLengthSlider" Name="CompactPaneLengthSlider"
Grid.Row="4"
Grid.Column="1"
IsSnapToTickEnabled="True"
Maximum="128" Maximum="128"
Minimum="0" Minimum="0"
TickFrequency="1" TickFrequency="1"
IsSnapToTickEnabled="True"
Value="48" /> Value="48" />
<Label <Label
Grid.Row="5" Grid.Row="5" Grid.Column="0"
Grid.Column="0"
VerticalAlignment="Center" VerticalAlignment="Center"
Content="{Binding #OpenPaneLengthSlider.Value, StringFormat='{}OpenPaneLength: {0}'}" /> Content="{Binding #OpenPaneLengthSlider.Value,StringFormat='{}OpenPaneLength: {0}'}" />
<Slider <Slider
Grid.Row="5" Grid.Column="1"
Name="OpenPaneLengthSlider" Name="OpenPaneLengthSlider"
Grid.Row="5"
Grid.Column="1"
IsSnapToTickEnabled="True"
Maximum="500" Maximum="500"
Minimum="128" Minimum="128"
TickFrequency="1" TickFrequency="1"
IsSnapToTickEnabled="True"
Value="256" /> Value="256" />
</Grid> </Grid>
</Border> </Border>
<SplitView <TabControl Grid.Column="0">
Grid.Column="0" <TabItem Header="Default">
Name="SplitView" <Border
CompactPaneLength="{Binding #CompactPaneLengthSlider.Value}" BorderBrush="{DynamicResource SemiGrey1}"
DisplayMode="{Binding #DisplayModeSelector.SelectedItem}" BorderThickness="1">
IsPaneOpen="{Binding #PaneOpenButton.IsChecked, Mode=TwoWay}" <SplitView
OpenPaneLength="{Binding #OpenPaneLengthSlider.Value}" Name="SplitView"
PanePlacement="{Binding #PanelPlacementSelector.SelectedItem}" IsPaneOpen="{Binding #PaneOpenButton.IsChecked,Mode=TwoWay}"
UseLightDismissOverlayMode="{Binding #UseLightDismissOverlayModeButton.IsChecked}"> UseLightDismissOverlayMode="{Binding #UseLightDismissOverlayModeButton.IsChecked}"
<SplitView.Background> PanePlacement="{Binding #PanePlacementButton.IsChecked}"
<LinearGradientBrush StartPoint="0%,0%" EndPoint="0%,100%"> DisplayMode="{Binding #DisplayModeSelector.SelectedItem}"
<GradientStop Offset="0" Color="#6b4c1b" /> CompactPaneLength="{Binding #CompactPaneLengthSlider.Value}"
<GradientStop Offset="1" Color="#291e10" /> OpenPaneLength="{Binding #OpenPaneLengthSlider.Value}">
</LinearGradientBrush> <SplitView.Background>
</SplitView.Background> <LinearGradientBrush StartPoint="0%,0%" EndPoint="0%,100%">
<SplitView.Pane> <GradientStop Color="#6b4c1b" Offset="0" />
<Grid RowDefinitions="Auto,*,Auto"> <GradientStop Color="#291e10" Offset="1" />
<StackPanel Grid.Row="0" Orientation="Horizontal" Margin="8 12"> </LinearGradientBrush>
<ToggleSwitch </SplitView.Background>
Content="{StaticResource SemiIconSidebar}" <SplitView.Pane>
IsChecked="{Binding #SplitView.IsPaneOpen}" <Grid RowDefinitions="Auto,*,Auto">
Theme="{DynamicResource IconBorderlessToggleSwitch}" /> <TextBlock
<TextBlock Grid.Row="0"
Name="PaneHeader" Name="PaneHeader"
VerticalAlignment="Center" Margin="8,12"
Margin="8 0" FontWeight="Bold"
FontWeight="Bold" Text="Playlist" />
Text="Playlist" /> <ListBox
</StackPanel> Grid.Row="1"
ItemsSource="{Binding Songs}" />
<ListBox Grid.Row="1" ItemsSource="{Binding Songs}" /> <ToggleSwitch
Grid.Row="2"
</Grid> Theme="{DynamicResource IconBorderlessToggleSwitch}"
</SplitView.Pane> Content="{StaticResource SemiIconSidebar}"
HorizontalAlignment="Left"
IsChecked="{Binding #SplitView.IsPaneOpen}" />
</Grid>
</SplitView.Pane>
<Panel> <Panel>
<Panel.Styles> <Panel.Styles>
<Style Selector="Image#AlbumCover"> <Style Selector="Image#AlbumCover">
<Style.Animations> <Style.Animations>
<Animation IterationCount="Infinite" Duration="0:0:40"> <Animation IterationCount="Infinite" Duration="0:0:40">
<KeyFrame Cue="0%"> <KeyFrame Cue="0%">
<Setter Property="RotateTransform.Angle" Value="0" /> <Setter Property="RotateTransform.Angle" Value="0" />
</KeyFrame> </KeyFrame>
<KeyFrame Cue="100%"> <KeyFrame Cue="100%">
<Setter Property="RotateTransform.Angle" Value="360" /> <Setter Property="RotateTransform.Angle" Value="360" />
</KeyFrame> </KeyFrame>
</Animation> </Animation>
</Style.Animations> </Style.Animations>
</Style> </Style>
</Panel.Styles> </Panel.Styles>
<Image <Image
Name="AlbumCover" Source="/Assets/WORLD.png"
Width="200" Name="AlbumCover"
Height="200" Width="200"
Source="/Assets/WORLD.png" /> Height="200" />
<Arc <Arc
Width="290" Width="290"
Height="290" Height="290"
StartAngle="0" StartAngle="0"
StrokeJoin="Round" SweepAngle="360"
StrokeLineCap="Round" StrokeJoin="Round"
StrokeThickness="45" StrokeLineCap="Round"
SweepAngle="360"> StrokeThickness="45">
<Arc.Stroke> <Arc.Stroke>
<LinearGradientBrush StartPoint="0%,0%" EndPoint="100%,0%"> <LinearGradientBrush StartPoint="0%,0%" EndPoint="100%,0%">
<GradientStop Offset="0" Color="#010101" /> <GradientStop Color="#010101" Offset="0" />
<GradientStop Offset="0.5" Color="#363636" /> <GradientStop Color="#363636" Offset="0.5" />
<GradientStop Offset="1" Color="#010101" /> <GradientStop Color="#010101" Offset="1" />
</LinearGradientBrush> </LinearGradientBrush>
</Arc.Stroke> </Arc.Stroke>
</Arc> </Arc>
<Arc <Arc
Width="294" Width="294"
Height="294" Height="294"
StartAngle="0" StartAngle="0"
Stroke="Black" SweepAngle="360"
StrokeJoin="Round" StrokeJoin="Round"
StrokeLineCap="Round" StrokeLineCap="Round"
StrokeThickness="4" StrokeThickness="4"
SweepAngle="360" /> Stroke="Black" />
<Arc <Arc
Width="310" Width="310"
Height="310" Height="310"
Opacity="0.1" StartAngle="0"
StartAngle="0" SweepAngle="360"
Stroke="#C6CACD" StrokeJoin="Round"
StrokeJoin="Round" StrokeLineCap="Round"
StrokeLineCap="Round" StrokeThickness="10"
StrokeThickness="10" Stroke="#C6CACD"
SweepAngle="360" /> Opacity="0.1" />
</Panel> </Panel>
</SplitView>
</SplitView>
</Border>
</TabItem>
<TabItem Header="VerticalSplitView">
<Border
BorderBrush="{DynamicResource SemiGrey1}"
BorderThickness="1">
<SplitView
Name="SplitView2"
Theme="{DynamicResource VerticalSplitView}"
IsPaneOpen="{Binding #PaneOpenButton.IsChecked,Mode=TwoWay}"
UseLightDismissOverlayMode="{Binding #UseLightDismissOverlayModeButton.IsChecked}"
PanePlacement="{Binding #PanePlacementButton.IsChecked}"
DisplayMode="{Binding #DisplayModeSelector.SelectedItem}"
CompactPaneLength="{Binding #CompactPaneLengthSlider.Value}"
OpenPaneLength="{Binding #OpenPaneLengthSlider.Value}">
<SplitView.Background>
<LinearGradientBrush StartPoint="0%,0%" EndPoint="0%,100%">
<GradientStop Color="#6b4c1b" Offset="0" />
<GradientStop Color="#291e10" Offset="1" />
</LinearGradientBrush>
</SplitView.Background>
<SplitView.Pane>
<Grid RowDefinitions="Auto,Auto,*">
<ToggleSwitch
Grid.Row="0"
Theme="{DynamicResource IconBorderlessToggleSwitch}"
Content="{StaticResource SemiIconSidebar}"
HorizontalAlignment="Left"
IsChecked="{Binding #SplitView2.IsPaneOpen}" />
<TextBlock
Grid.Row="1"
Margin="8,12"
FontWeight="Bold"
Text="Playlist" />
<ListBox
Grid.Row="2"
ItemsSource="{Binding Songs}" />
</Grid>
</SplitView.Pane>
<Panel>
<Panel.Styles>
<Style Selector="Image#AlbumCover2">
<Style.Animations>
<Animation IterationCount="Infinite" Duration="0:0:40">
<KeyFrame Cue="0%">
<Setter Property="RotateTransform.Angle" Value="0" />
</KeyFrame>
<KeyFrame Cue="100%">
<Setter Property="RotateTransform.Angle" Value="360" />
</KeyFrame>
</Animation>
</Style.Animations>
</Style>
</Panel.Styles>
<Image
Source="/Assets/WORLD.png"
Name="AlbumCover2"
Width="200"
Height="200" />
<Arc
Width="290"
Height="290"
StartAngle="0"
SweepAngle="360"
StrokeJoin="Round"
StrokeLineCap="Round"
StrokeThickness="45">
<Arc.Stroke>
<LinearGradientBrush StartPoint="0%,0%" EndPoint="100%,0%">
<GradientStop Color="#010101" Offset="0" />
<GradientStop Color="#363636" Offset="0.5" />
<GradientStop Color="#010101" Offset="1" />
</LinearGradientBrush>
</Arc.Stroke>
</Arc>
<Arc
Width="294"
Height="294"
StartAngle="0"
SweepAngle="360"
StrokeJoin="Round"
StrokeLineCap="Round"
StrokeThickness="4"
Stroke="Black" />
<Arc
Width="310"
Height="310"
StartAngle="0"
SweepAngle="360"
StrokeJoin="Round"
StrokeLineCap="Round"
StrokeThickness="10"
Stroke="#C6CACD"
Opacity="0.1" />
</Panel>
</SplitView>
</Border>
</TabItem>
</TabControl>
</Grid> </Grid>
</Border> </Border>
</UserControl> </UserControl>

View File

@@ -7,6 +7,7 @@
xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels;assembly=Semi.Avalonia.Demo" xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels;assembly=Semi.Avalonia.Demo"
d:DesignHeight="450" d:DesignHeight="450"
d:DesignWidth="800" d:DesignWidth="800"
x:CompileBindings="True"
x:DataType="vm:TabControlDemoViewModel" x:DataType="vm:TabControlDemoViewModel"
mc:Ignorable="d"> mc:Ignorable="d">
<ScrollViewer> <ScrollViewer>

View File

@@ -5,6 +5,7 @@
xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels" xmlns:vm="clr-namespace:Semi.Avalonia.Demo.ViewModels"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="Semi.Avalonia.Demo.Pages.TabStripDemo" x:Class="Semi.Avalonia.Demo.Pages.TabStripDemo"
x:CompileBindings="True"
x:DataType="vm:TabStripDemoViewModel"> x:DataType="vm:TabStripDemoViewModel">
<Design.DataContext> <Design.DataContext>
<vm:TabStripDemoViewModel /> <vm:TabStripDemoViewModel />

View File

@@ -6,6 +6,7 @@
xmlns:converters="clr-namespace:Semi.Avalonia.Demo.Converters" xmlns:converters="clr-namespace:Semi.Avalonia.Demo.Converters"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="Semi.Avalonia.Demo.Pages.TreeDataGridDemo" x:Class="Semi.Avalonia.Demo.Pages.TreeDataGridDemo"
x:CompileBindings="True"
x:DataType="vm:TreeDataGridDemoViewModel"> x:DataType="vm:TreeDataGridDemoViewModel">
<UserControl.Resources> <UserControl.Resources>
<converters:FileIconConverter x:Key="FileIconConverter"> <converters:FileIconConverter x:Key="FileIconConverter">

View File

@@ -14,9 +14,10 @@ public partial class TreeDataGridDemo : UserControl
private void SelectedPath_KeyDown(object? sender, KeyEventArgs e) private void SelectedPath_KeyDown(object? sender, KeyEventArgs e)
{ {
if (e.Key == Key.Enter && DataContext is TreeDataGridDemoViewModel vm) if (e.Key == Key.Enter)
{ {
vm.FilesContext.SelectedPath = (sender as TextBox)?.Text; var vm = DataContext as TreeDataGridDemoViewModel;
vm.FilesContext.SelectedPath = (sender as TextBox)!.Text;
} }
} }
} }

View File

@@ -8,6 +8,7 @@
xmlns:vm="clr-namespace:Semi.Avalonia.Demo.Pages" xmlns:vm="clr-namespace:Semi.Avalonia.Demo.Pages"
d:DesignHeight="450" d:DesignHeight="450"
d:DesignWidth="800" d:DesignWidth="800"
x:CompileBindings="True"
x:DataType="vm:TreeViewVm" x:DataType="vm:TreeViewVm"
mc:Ignorable="d"> mc:Ignorable="d">

View File

@@ -21,40 +21,33 @@ public class TreeViewVm : ObservableObject
public TreeViewVm() public TreeViewVm()
{ {
Items = Items = new ObservableCollection<TreeViewItemVm>()
[
new TreeViewItemVm { Name = "Item 1", Id = "1" },
new TreeViewItemVm { Name = "Item 2", Id = "2" },
new TreeViewItemVm
{
Name = "Item 3", Id = "3", Items =
[
new TreeViewItemVm { Name = "Item 3.1", Id = "3.1" },
new TreeViewItemVm { Name = "Item 3.2", Id = "3.2" },
new TreeViewItemVm { Name = "Item 3.3", Id = "3.3" }
],
}
];
MultipleLevelItems = [];
for (var i = 1; i < 6; i++)
{ {
var firstItem = new FirstItem new TreeViewItemVm() { Name = "Item 1", Id = "1" },
new TreeViewItemVm() { Name = "Item 2", Id = "2" },
new TreeViewItemVm()
{ {
Id = i, Name = $"FirstItem {i}", Name = "Item 3", Id = "3", Items = new ObservableCollection<TreeViewItemVm>()
SecondItems = [] {
}; new TreeViewItemVm() { Name = "Item 3.1", Id = "3.1" },
for (var j = 1; j < 6; j++) new TreeViewItemVm() { Name = "Item 3.2", Id = "3.2" },
new TreeViewItemVm() { Name = "Item 3.3", Id = "3.3" },
},
},
};
MultipleLevelItems = new();
for (int i = 1; i < 6; i++)
{
FirstItem firstItem = new FirstItem { Id = i, Name = $"FirstItem {i}" };
firstItem.SecondItems = new();
for (int j = 1; j < 6; j++)
{ {
var secondItem = new SecondItem SecondItem secondItem = new SecondItem { Id = j, Name = $"SecondItem {j}" };
secondItem.ThirdItemItems = new();
for (int k = 1; k < 6; k++)
{ {
Id = j, Name = $"SecondItem {j}", ThirdItem thirdItem = new ThirdItem { Id = k, Name = $"ThirdItem {k}" };
ThirdItemItems = []
};
for (var k = 1; k < 6; k++)
{
var thirdItem = new ThirdItem { Id = k, Name = $"ThirdItem {k}" };
secondItem.ThirdItemItems.Add(thirdItem); secondItem.ThirdItemItems.Add(thirdItem);
} }
@@ -68,9 +61,9 @@ public class TreeViewVm : ObservableObject
public partial class TreeViewItemVm : ObservableObject public partial class TreeViewItemVm : ObservableObject
{ {
public ObservableCollection<TreeViewItemVm> Items { get; set; } = []; public ObservableCollection<TreeViewItemVm> Items { get; set; }
public string? Name { get; set; } public string Name { get; set; }
public string? Id { get; set; } public string Id { get; set; }
} }
public class ItemBase public class ItemBase

View File

@@ -6,99 +6,89 @@
xmlns:pages="clr-namespace:Semi.Avalonia.Demo.Pages" xmlns:pages="clr-namespace:Semi.Avalonia.Demo.Pages"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="Semi.Avalonia.Demo.Pages.VariablesDemo" x:Class="Semi.Avalonia.Demo.Pages.VariablesDemo"
x:DataType="vm:VariablesDemoViewModel"> x:DataType="vm:VariablesDemoViewModel"
x:CompileBindings="True">
<Design.DataContext> <Design.DataContext>
<vm:VariablesDemoViewModel /> <vm:VariablesDemoViewModel />
</Design.DataContext> </Design.DataContext>
<Grid RowDefinitions="Auto, *"> <DataGrid
<TextBox Margin="8"
Grid.Row="0" CanUserReorderColumns="True"
Width="600" CanUserResizeColumns="True"
Margin="8" CanUserSortColumns="True"
Classes="ClearButton" HeadersVisibility="All"
Text="{Binding SearchText}" IsReadOnly="True"
Watermark="Input Variable Category/ResourceKey/Type/Value/Description" /> ItemsSource="{Binding GridData}">
<DataGrid.Columns>
<DataGrid <DataGridTemplateColumn
Grid.Row="1" Width="300"
Margin="8" x:DataType="vm:VariableItem"
CanUserReorderColumns="True" Header="ResourceKey">
CanUserResizeColumns="True" <DataGridTemplateColumn.CellTemplate>
CanUserSortColumns="True" <DataTemplate DataType="vm:VariableItem">
HeadersVisibility="All" <SelectableTextBlock
IsReadOnly="True" Margin="12,0"
ItemsSource="{Binding GridData}"> VerticalAlignment="Center"
<DataGrid.Columns> Text="{Binding ResourceKey}" />
<DataGridTemplateColumn </DataTemplate>
Width="300" </DataGridTemplateColumn.CellTemplate>
x:DataType="vm:VariableItem" </DataGridTemplateColumn>
Header="ResourceKey"> <DataGridTemplateColumn
<DataGridTemplateColumn.CellTemplate> Width="200"
<DataTemplate DataType="vm:VariableItem"> x:DataType="vm:VariableItem"
<SelectableTextBlock Header="Type">
Margin="12,0" <DataGridTemplateColumn.CellTemplate>
VerticalAlignment="Center" <DataTemplate DataType="vm:VariableItem">
Text="{Binding ResourceKey}" /> <SelectableTextBlock
</DataTemplate> Margin="12,0"
</DataGridTemplateColumn.CellTemplate> VerticalAlignment="Center"
</DataGridTemplateColumn> Text="{Binding Type.Name}" />
<DataGridTemplateColumn </DataTemplate>
Width="200" </DataGridTemplateColumn.CellTemplate>
x:DataType="vm:VariableItem" </DataGridTemplateColumn>
Header="Type"> <DataGridTemplateColumn
<DataGridTemplateColumn.CellTemplate> Width="200"
<DataTemplate DataType="vm:VariableItem"> x:DataType="vm:VariableItem"
<SelectableTextBlock Header="Value">
Margin="12,0" <DataGridTemplateColumn.CellTemplate>
VerticalAlignment="Center" <DataTemplate DataType="vm:VariableItem">
Text="{Binding Type.Name}" /> <SelectableTextBlock
</DataTemplate> Margin="12,0"
</DataGridTemplateColumn.CellTemplate> VerticalAlignment="Center"
</DataGridTemplateColumn> Text="{Binding Value}"
<DataGridTemplateColumn TextWrapping="Wrap" />
Width="200" </DataTemplate>
x:DataType="vm:VariableItem" </DataGridTemplateColumn.CellTemplate>
Header="Value"> </DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate> <DataGridTemplateColumn
<DataTemplate DataType="vm:VariableItem"> Width="*"
<SelectableTextBlock x:DataType="vm:VariableItem"
Margin="12,0" Header="Description">
VerticalAlignment="Center" <DataGridTemplateColumn.CellTemplate>
Text="{Binding Value}" <DataTemplate DataType="vm:VariableItem">
TextWrapping="Wrap" /> <SelectableTextBlock
</DataTemplate> Margin="12,0"
</DataGridTemplateColumn.CellTemplate> VerticalAlignment="Center"
</DataGridTemplateColumn> Text="{Binding Description}"
<DataGridTemplateColumn TextWrapping="Wrap" />
Width="*" </DataTemplate>
x:DataType="vm:VariableItem" </DataGridTemplateColumn.CellTemplate>
Header="Description"> </DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate> <DataGridTemplateColumn
<DataTemplate DataType="vm:VariableItem"> Width="100"
<SelectableTextBlock x:DataType="vm:VariableItem"
Margin="12,0" Header="CopyText"
VerticalAlignment="Center" SortMemberPath="Duration">
Text="{Binding Description}" <DataGridTemplateColumn.CellTemplate>
TextWrapping="Wrap" /> <DataTemplate DataType="vm:VariableItem">
</DataTemplate> <Button
</DataGridTemplateColumn.CellTemplate> Command="{Binding $parent[pages:VariablesDemo].Copy}"
</DataGridTemplateColumn> CommandParameter="{Binding CopyText}"
<DataGridTemplateColumn Theme="{DynamicResource IconBorderlessButton}"
Width="100" Content="{StaticResource SemiIconCopy}" />
x:DataType="vm:VariableItem" </DataTemplate>
Header="CopyText" </DataGridTemplateColumn.CellTemplate>
SortMemberPath="Duration"> </DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate> </DataGrid.Columns>
<DataTemplate DataType="vm:VariableItem"> </DataGrid>
<Button
Command="{Binding $parent[pages:VariablesDemo].Copy}"
CommandParameter="{Binding CopyText}"
Theme="{DynamicResource IconBorderlessButton}"
Content="{StaticResource SemiIconCopy}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</UserControl> </UserControl>

View File

@@ -3,7 +3,6 @@
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<LangVersion>latest</LangVersion> <LangVersion>latest</LangVersion>
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@@ -1,7 +1,8 @@
<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:controls="clr-namespace:Semi.Avalonia.Demo.Controls"> xmlns:controls="clr-namespace:Semi.Avalonia.Demo.Controls"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type controls:ColorDetailControl}" TargetType="controls:ColorDetailControl"> <ControlTheme x:Key="{x:Type controls:ColorDetailControl}" TargetType="controls:ColorDetailControl">
<Setter Property="Template"> <Setter Property="Template">
<ControlTemplate TargetType="controls:ColorDetailControl"> <ControlTemplate TargetType="controls:ColorDetailControl">

View File

@@ -1,7 +1,8 @@
<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:controls="using:Semi.Avalonia.Demo.Controls"> xmlns:controls="using:Semi.Avalonia.Demo.Controls"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<controls:ColorItemControl /> <controls:ColorItemControl />
</Design.PreviewWith> </Design.PreviewWith>

View File

@@ -4,6 +4,7 @@
xmlns:controls="clr-namespace:Semi.Avalonia.Demo.Controls" xmlns:controls="clr-namespace:Semi.Avalonia.Demo.Controls"
xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels" xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels"
xmlns:pages="clr-namespace:Semi.Avalonia.Demo.Pages" xmlns:pages="clr-namespace:Semi.Avalonia.Demo.Pages"
x:CompileBindings="True"
x:DataType="viewModels:FunctionalColorGroupViewModel"> x:DataType="viewModels:FunctionalColorGroupViewModel">
<ControlTheme x:Key="{x:Type controls:FunctionalColorGroupControl}" TargetType="controls:FunctionalColorGroupControl"> <ControlTheme x:Key="{x:Type controls:FunctionalColorGroupControl}" TargetType="controls:FunctionalColorGroupControl">
<Setter Property="Template"> <Setter Property="Template">

View File

@@ -4,6 +4,7 @@
xmlns:controls="clr-namespace:Semi.Avalonia.Demo.Controls" xmlns:controls="clr-namespace:Semi.Avalonia.Demo.Controls"
xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels" xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels"
xmlns:pages="clr-namespace:Semi.Avalonia.Demo.Pages" xmlns:pages="clr-namespace:Semi.Avalonia.Demo.Pages"
x:CompileBindings="True"
x:DataType="viewModels:ShadowGroupViewModel"> x:DataType="viewModels:ShadowGroupViewModel">
<ControlTheme x:Key="{x:Type controls:ShadowGroupControl}" TargetType="controls:ShadowGroupControl"> <ControlTheme x:Key="{x:Type controls:ShadowGroupControl}" TargetType="controls:ShadowGroupControl">
<Setter Property="Template"> <Setter Property="Template">

View File

@@ -1,37 +1,12 @@
using Avalonia; using Avalonia;
using Avalonia.Controls;
using Avalonia.Controls.ApplicationLifetimes; using Avalonia.Controls.ApplicationLifetimes;
using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input; using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Messaging;
namespace Semi.Avalonia.Demo.ViewModels; namespace Semi.Avalonia.Demo.ViewModels;
public partial class ApplicationViewModel : ObservableObject public partial class ApplicationViewModel : ObservableObject
{ {
[RelayCommand]
private void Activate()
{
if (Application.Current?.ApplicationLifetime is not IClassicDesktopStyleApplicationLifetime desktop) return;
var mainWindow = desktop.MainWindow;
if (mainWindow is not null && !mainWindow.IsActive)
{
if (mainWindow.WindowState is WindowState.Minimized)
{
mainWindow.WindowState = WindowState.Normal;
}
mainWindow.Activate();
}
}
[RelayCommand]
private void JumpTo(string header)
{
Activate();
WeakReferenceMessenger.Default.Send(header, "JumpTo");
}
[RelayCommand] [RelayCommand]
private void Exit() private void Exit()
{ {

View File

@@ -1,5 +1,4 @@
using System; using System.Collections.Generic;
using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using Avalonia.Controls; using Avalonia.Controls;
@@ -10,7 +9,7 @@ namespace Semi.Avalonia.Demo.ViewModels;
public partial class IconDemoViewModel : ObservableObject public partial class IconDemoViewModel : ObservableObject
{ {
private readonly Icons _resources = new(); private readonly IResourceDictionary? _resources = new Icons();
private readonly Dictionary<string, IconItem> _filledIcons = new(); private readonly Dictionary<string, IconItem> _filledIcons = new();
private readonly Dictionary<string, IconItem> _strokedIcons = new(); private readonly Dictionary<string, IconItem> _strokedIcons = new();
@@ -22,6 +21,8 @@ public partial class IconDemoViewModel : ObservableObject
public void InitializeResources() public void InitializeResources()
{ {
if (_resources is null) return;
foreach (var provider in _resources.MergedDictionaries) foreach (var provider in _resources.MergedDictionaries)
{ {
if (provider is not ResourceDictionary dic) continue; if (provider is not ResourceDictionary dic) continue;
@@ -29,17 +30,16 @@ public partial class IconDemoViewModel : ObservableObject
foreach (var key in dic.Keys) foreach (var key in dic.Keys)
{ {
if (dic[key] is not Geometry geometry) continue; if (dic[key] is not Geometry geometry) continue;
var resourceKey = key.ToString() ?? string.Empty;
var icon = new IconItem var icon = new IconItem
{ {
ResourceKey = resourceKey, ResourceKey = key.ToString(),
Geometry = geometry Geometry = geometry
}; };
if (resourceKey.EndsWith("Stroked", StringComparison.InvariantCultureIgnoreCase)) if (key.ToString().EndsWith("Stroked"))
_strokedIcons[resourceKey] = icon; _strokedIcons[key.ToString().ToLowerInvariant()] = icon;
else else
_filledIcons[resourceKey] = icon; _filledIcons[key.ToString().ToLowerInvariant()] = icon;
} }
} }
@@ -48,16 +48,16 @@ public partial class IconDemoViewModel : ObservableObject
partial void OnSearchTextChanged(string? value) partial void OnSearchTextChanged(string? value)
{ {
var search = string.IsNullOrWhiteSpace(value) ? string.Empty : value.Trim(); var search = value?.ToLowerInvariant() ?? string.Empty;
FilteredFilledIcons.Clear(); FilteredFilledIcons.Clear();
foreach (var pair in _filledIcons.Where(kv => kv.Key.Contains(search, StringComparison.InvariantCultureIgnoreCase))) foreach (var pair in _filledIcons.Where(i => i.Key.Contains(search)))
{ {
FilteredFilledIcons.Add(pair.Value); FilteredFilledIcons.Add(pair.Value);
} }
FilteredStrokedIcons.Clear(); FilteredStrokedIcons.Clear();
foreach (var pair in _strokedIcons.Where(kv => kv.Key.Contains(search, StringComparison.InvariantCultureIgnoreCase))) foreach (var pair in _strokedIcons.Where(i => i.Key.Contains(search)))
{ {
FilteredStrokedIcons.Add(pair.Value); FilteredStrokedIcons.Add(pair.Value);
} }

View File

@@ -26,12 +26,4 @@ public class SplitViewDemoViewModel : ObservableObject
SplitViewDisplayMode.Overlay, SplitViewDisplayMode.Overlay,
SplitViewDisplayMode.CompactOverlay, SplitViewDisplayMode.CompactOverlay,
]; ];
public static ObservableCollection<SplitViewPanePlacement> Placements { get; set; } =
[
SplitViewPanePlacement.Left,
SplitViewPanePlacement.Right,
SplitViewPanePlacement.Top,
SplitViewPanePlacement.Bottom
];
} }

View File

@@ -19,15 +19,9 @@ public partial class FilesPageViewModel : ObservableObject
public IList<string> Drives { get; } public IList<string> Drives { get; }
public HierarchicalTreeDataGridSource<FileNodeViewModel> Source { get; } public HierarchicalTreeDataGridSource<FileNodeViewModel> Source { get; }
[ObservableProperty] private string _selectedDrive; [ObservableProperty] private string _selectedDrive;
private string? _selectedPath; [ObservableProperty] private string? _selectedPath;
[ObservableProperty] private FileNodeViewModel? _root; [ObservableProperty] private FileNodeViewModel? _root;
public string? SelectedPath
{
get => _selectedPath;
set => SetSelectedPath(value);
}
partial void OnSelectedDriveChanged(string value) partial void OnSelectedDriveChanged(string value)
{ {
Root = new FileNodeViewModel(value, true, true); Root = new FileNodeViewModel(value, true, true);
@@ -37,6 +31,11 @@ public partial class FilesPageViewModel : ObservableObject
} }
} }
partial void OnSelectedPathChanged(string? value)
{
SetSelectedPath(value);
}
public FilesPageViewModel() public FilesPageViewModel()
{ {
Drives = DriveInfo.GetDrives().Select(x => x.Name).ToList(); Drives = DriveInfo.GetDrives().Select(x => x.Name).ToList();
@@ -49,7 +48,7 @@ public partial class FilesPageViewModel : ObservableObject
SelectedDrive = Drives.FirstOrDefault() ?? "/"; SelectedDrive = Drives.FirstOrDefault() ?? "/";
} }
Source = new HierarchicalTreeDataGridSource<FileNodeViewModel>([]) Source = new HierarchicalTreeDataGridSource<FileNodeViewModel>(Array.Empty<FileNodeViewModel>())
{ {
Columns = Columns =
{ {
@@ -109,14 +108,16 @@ public partial class FilesPageViewModel : ObservableObject
foreach (var i in e.SelectedItems) foreach (var i in e.SelectedItems)
Trace.WriteLine($"Selected '{i?.Path}'"); Trace.WriteLine($"Selected '{i?.Path}'");
} }
private void SetSelectedPath(string? path)
private void SetSelectedPath(string? value)
{ {
if (string.IsNullOrEmpty(path)) if (string.IsNullOrEmpty(value))
{ {
Source.RowSelection!.Clear(); Source.RowSelection!.Clear();
return; return;
} }
var path = value;
var components = new Stack<string>(); var components = new Stack<string>();
DirectoryInfo? d = null; DirectoryInfo? d = null;
@@ -147,7 +148,7 @@ public partial class FilesPageViewModel : ObservableObject
if (driveIndex >= 0) if (driveIndex >= 0)
SelectedDrive = Drives[driveIndex]; SelectedDrive = Drives[driveIndex];
var node = Root; FileNodeViewModel? node = _root;
index = new IndexPath(0); index = new IndexPath(0);
while (node is not null && components.Count > 0) while (node is not null && components.Count > 0)
@@ -161,7 +162,7 @@ public partial class FilesPageViewModel : ObservableObject
} }
} }
Source.Items = [Root!]; Source.Items = [Root];
Source.RowSelection!.SelectedIndex = index; Source.RowSelection!.SelectedIndex = index;
} }
} }
@@ -274,8 +275,8 @@ public partial class FileNodeViewModel : ObservableObject, IEditableObject
}; };
} }
void IEditableObject.BeginEdit() => _undoName = Name; void IEditableObject.BeginEdit() => _undoName = _name;
void IEditableObject.CancelEdit() => Name = _undoName ?? string.Empty; void IEditableObject.CancelEdit() => _name = _undoName!;
void IEditableObject.EndEdit() => _undoName = null; void IEditableObject.EndEdit() => _undoName = null;
private void OnChanged(object sender, FileSystemEventArgs e) private void OnChanged(object sender, FileSystemEventArgs e)

View File

@@ -10,10 +10,9 @@ using Semi.Avalonia.Tokens;
namespace Semi.Avalonia.Demo.ViewModels; namespace Semi.Avalonia.Demo.ViewModels;
public partial class VariablesDemoViewModel : ObservableObject public class VariablesDemoViewModel : ObservableObject
{ {
public DataGridCollectionView GridData { get; set; } public DataGridCollectionView GridData { get; set; }
[ObservableProperty] private string _searchText = string.Empty;
public VariablesDemoViewModel() public VariablesDemoViewModel()
{ {
@@ -31,7 +30,7 @@ public partial class VariablesDemoViewModel : ObservableObject
GridData.GroupDescriptions.Add(new DataGridPathGroupDescription(nameof(VariableItem.Category))); GridData.GroupDescriptions.Add(new DataGridPathGroupDescription(nameof(VariableItem.Category)));
} }
private static string? GetValueString(object? value) private static string GetValueString(object? value)
{ {
if (value is null) return string.Empty; if (value is null) return string.Empty;
@@ -46,28 +45,6 @@ public partial class VariablesDemoViewModel : ObservableObject
}; };
} }
partial void OnSearchTextChanged(string value)
{
if (string.IsNullOrWhiteSpace(value))
{
GridData.Filter = _ => true;
GridData.Refresh();
return;
}
var search = value.Trim();
GridData.Filter = item =>
{
if (item is not VariableItem variableItem) return false;
return (variableItem.Category?.Contains(search, StringComparison.InvariantCultureIgnoreCase) ?? false) ||
(variableItem.ResourceKey?.Contains(search, StringComparison.InvariantCultureIgnoreCase) ?? false) ||
(variableItem.Value?.Contains(search, StringComparison.InvariantCultureIgnoreCase) ?? false) ||
(variableItem.Type?.Name.Contains(search, StringComparison.InvariantCultureIgnoreCase) ?? false) ||
(variableItem.Description?.Contains(search, StringComparison.InvariantCultureIgnoreCase) ?? false);
};
GridData.Refresh();
}
private static List<VariableItem> Tokens { get; set; } = private static List<VariableItem> Tokens { get; set; } =
[ [
new("Height", "SemiHeightControlSmall"), new("Height", "SemiHeightControlSmall"),
@@ -78,11 +55,6 @@ public partial class VariablesDemoViewModel : ObservableObject
new("Icon Size", "SemiWidthIconMedium"), new("Icon Size", "SemiWidthIconMedium"),
new("Icon Size", "SemiWidthIconLarge"), new("Icon Size", "SemiWidthIconLarge"),
new("Icon Size", "SemiWidthIconExtraLarge"), new("Icon Size", "SemiWidthIconExtraLarge"),
new("Border CornerRadius Spacing", "SemiBorderRadiusSpacingExtraSmall"),
new("Border CornerRadius Spacing", "SemiBorderRadiusSpacingSmall"),
new("Border CornerRadius Spacing", "SemiBorderRadiusSpacingMedium"),
new("Border CornerRadius Spacing", "SemiBorderRadiusSpacingLarge"),
new("Border CornerRadius Spacing", "SemiBorderRadiusSpacingFull"),
new("Border CornerRadius", "SemiBorderRadiusExtraSmall"), new("Border CornerRadius", "SemiBorderRadiusExtraSmall"),
new("Border CornerRadius", "SemiBorderRadiusSmall"), new("Border CornerRadius", "SemiBorderRadiusSmall"),
new("Border CornerRadius", "SemiBorderRadiusMedium"), new("Border CornerRadius", "SemiBorderRadiusMedium"),

View File

@@ -8,6 +8,7 @@
xmlns:views="clr-namespace:Semi.Avalonia.Demo.Views" xmlns:views="clr-namespace:Semi.Avalonia.Demo.Views"
d:DesignHeight="450" d:DesignHeight="450"
d:DesignWidth="800" d:DesignWidth="800"
x:CompileBindings="True"
x:DataType="views:MainViewModel" x:DataType="views:MainViewModel"
mc:Ignorable="d"> mc:Ignorable="d">
<UserControl.Resources> <UserControl.Resources>

View File

@@ -9,7 +9,6 @@ using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Styling; using Avalonia.Styling;
using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input; using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Messaging;
namespace Semi.Avalonia.Demo.Views; namespace Semi.Avalonia.Demo.Views;
@@ -19,19 +18,6 @@ public partial class MainView : UserControl
{ {
InitializeComponent(); InitializeComponent();
this.DataContext = new MainViewModel(); this.DataContext = new MainViewModel();
WeakReferenceMessenger.Default.Register<string, string>(this, "JumpTo", MessageHandler);
}
private void MessageHandler(object _, string message)
{
foreach (var item in tab.ItemsView)
{
if (item is TabItem tabItem && tabItem.Header is not null && tabItem.Header.Equals(message))
{
tab.SelectedItem = tabItem;
break;
}
}
} }
} }
@@ -105,42 +91,6 @@ public partial class MainViewModel : ObservableObject
CommandParameter = new CultureInfo("ja-jp") CommandParameter = new CultureInfo("ja-jp")
}, },
new MenuItemViewModel new MenuItemViewModel
{
Header = "한국어",
Command = SelectLocaleCommand,
CommandParameter = new CultureInfo("ko-kr")
},
new MenuItemViewModel
{
Header = "English (UK)",
Command = SelectLocaleCommand,
CommandParameter = new CultureInfo("en-gb")
},
new MenuItemViewModel
{
Header = "Italiano",
Command = SelectLocaleCommand,
CommandParameter = new CultureInfo("it-it")
},
new MenuItemViewModel
{
Header = "Italiano (Switzerland)",
Command = SelectLocaleCommand,
CommandParameter = new CultureInfo("it-ch")
},
new MenuItemViewModel
{
Header = "Nederlands",
Command = SelectLocaleCommand,
CommandParameter = new CultureInfo("nl-nl")
},
new MenuItemViewModel
{
Header = "Nederlands (Belgium)",
Command = SelectLocaleCommand,
CommandParameter = new CultureInfo("nl-be")
},
new MenuItemViewModel
{ {
Header = "Українська", Header = "Українська",
Command = SelectLocaleCommand, Command = SelectLocaleCommand,
@@ -247,4 +197,4 @@ public class MenuItemViewModel
public ICommand? Command { get; set; } public ICommand? Command { get; set; }
public object? CommandParameter { get; set; } public object? CommandParameter { get; set; }
public IList<MenuItemViewModel>? Items { get; set; } public IList<MenuItemViewModel>? Items { get; set; }
} }

View File

@@ -3,15 +3,14 @@
<TargetFrameworks>netstandard2.0;net6.0;net8.0</TargetFrameworks> <TargetFrameworks>netstandard2.0;net6.0;net8.0</TargetFrameworks>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<LangVersion>latest</LangVersion> <LangVersion>latest</LangVersion>
<Version>11.3.7</Version> <Version>11.2.1.9</Version>
<Authors>IRIHI Technology Co., Ltd.</Authors> <Authors>IRIHI Technology Co., Ltd.</Authors>
<Description>Avalonia Theme inspired by Semi Design.</Description> <Description>Avalonia Theme inspired by Semi Design.</Description>
<RepositoryUrl>https://github.com/irihitech/Semi.Avalonia</RepositoryUrl> <RepositoryUrl>https://github.com/irihitech/Semi.Avalonia</RepositoryUrl>
<PackageLicenseExpression>MIT</PackageLicenseExpression> <PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageIcon>irihi.png</PackageIcon> <PackageIcon>irihi.png</PackageIcon>
<PackageProjectUrl>https://github.com/irihitech/Semi.Avalonia</PackageProjectUrl> <PackageProjectUrl>https://github.com/irihitech/Semi.Avalonia</PackageProjectUrl>
<AvaloniaVersion>11.3.7</AvaloniaVersion> <AvaloniaVersion>11.2.1</AvaloniaVersion>
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@@ -1,7 +1,8 @@
<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="using:Avalonia.Controls.Converters"> xmlns:converters="using:Avalonia.Controls.Converters"
x:CompileBindings="True">
<converters:CornerRadiusFilterConverter x:Key="LeftCornerRadiusFilterConverter" Filter="TopLeft, BottomLeft" /> <converters:CornerRadiusFilterConverter x:Key="LeftCornerRadiusFilterConverter" Filter="TopLeft, BottomLeft" />
<converters:ToBrushConverter x:Key="ToBrushConverter" /> <converters:ToBrushConverter x:Key="ToBrushConverter" />

View File

@@ -2,7 +2,8 @@
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="using:Avalonia.Controls.Converters" xmlns:converters="using:Avalonia.Controls.Converters"
xmlns:pc="using:Avalonia.Controls.Primitives.Converters"> xmlns:pc="using:Avalonia.Controls.Primitives.Converters"
x:CompileBindings="True">
<pc:AccentColorConverter x:Key="AccentColorConverter" /> <pc:AccentColorConverter x:Key="AccentColorConverter" />
<converters:CornerRadiusFilterConverter x:Key="LeftCornerRadiusFilterConverter" Filter="TopLeft, BottomLeft" /> <converters:CornerRadiusFilterConverter x:Key="LeftCornerRadiusFilterConverter" Filter="TopLeft, BottomLeft" />
<converters:CornerRadiusFilterConverter x:Key="RightCornerRadiusFilterConverter" Filter="TopRight, BottomRight" /> <converters:CornerRadiusFilterConverter x:Key="RightCornerRadiusFilterConverter" Filter="TopRight, BottomRight" />

View File

@@ -1,7 +1,8 @@
<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="using:Avalonia.Controls.Converters"> xmlns:converters="using:Avalonia.Controls.Converters"
x:CompileBindings="True">
<converters:CornerRadiusToDoubleConverter x:Key="TopLeftCornerRadiusConverter" Corner="TopLeft" /> <converters:CornerRadiusToDoubleConverter x:Key="TopLeftCornerRadiusConverter" Corner="TopLeft" />
<converters:CornerRadiusToDoubleConverter x:Key="BottomRightCornerRadiusConverter" Corner="BottomRight" /> <converters:CornerRadiusToDoubleConverter x:Key="BottomRightCornerRadiusConverter" Corner="BottomRight" />

View File

@@ -1,7 +1,8 @@
<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="using:Avalonia.Controls.Converters"> xmlns:converters="using:Avalonia.Controls.Converters"
x:CompileBindings="True">
<converters:EnumToBoolConverter x:Key="EnumToBoolConverter" /> <converters:EnumToBoolConverter x:Key="EnumToBoolConverter" />
<converters:CornerRadiusToDoubleConverter x:Key="TopLeftCornerRadiusConverter" Corner="TopLeft" /> <converters:CornerRadiusToDoubleConverter x:Key="TopLeftCornerRadiusConverter" Corner="TopLeft" />
<converters:CornerRadiusToDoubleConverter x:Key="BottomRightCornerRadiusConverter" Corner="BottomRight" /> <converters:CornerRadiusToDoubleConverter x:Key="BottomRightCornerRadiusConverter" Corner="BottomRight" />

View File

@@ -4,7 +4,8 @@
xmlns:converters="using:Avalonia.Controls.Converters" xmlns:converters="using:Avalonia.Controls.Converters"
xmlns:globalization="using:System.Globalization" xmlns:globalization="using:System.Globalization"
xmlns:pc="using:Avalonia.Controls.Primitives.Converters" xmlns:pc="using:Avalonia.Controls.Primitives.Converters"
xmlns:cvts="clr-namespace:Semi.Avalonia.ColorPicker.Converters"> xmlns:cvts="clr-namespace:Semi.Avalonia.ColorPicker.Converters"
x:CompileBindings="True">
<pc:ContrastBrushConverter x:Key="ContrastBrushConverter" /> <pc:ContrastBrushConverter x:Key="ContrastBrushConverter" />
<converters:ColorToDisplayNameConverter x:Key="ColorToDisplayNameConverter" /> <converters:ColorToDisplayNameConverter x:Key="ColorToDisplayNameConverter" />
<converters:ColorToHexConverter x:Key="ColorToHexConverter" /> <converters:ColorToHexConverter x:Key="ColorToHexConverter" />

View File

@@ -1,4 +1,5 @@
<ResourceDictionary <ResourceDictionary
x:CompileBindings="True"
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">
<ResourceDictionary.MergedDictionaries> <ResourceDictionary.MergedDictionaries>

View File

@@ -4,7 +4,7 @@
<PropertyGroup> <PropertyGroup>
<Title>Semi.Avalonia.ColorPicker</Title> <Title>Semi.Avalonia.ColorPicker</Title>
<PackageReleaseNotes>Update to Semi.Avalonia.ColorPicker 11.3.7</PackageReleaseNotes> <PackageReleaseNotes>Update to Semi.Avalonia.ColorPicker 11.2.1.9</PackageReleaseNotes>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))"> <PropertyGroup Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))">

View File

@@ -4,8 +4,8 @@
<TargetFrameworks>netstandard2.0;net6.0;net8.0</TargetFrameworks> <TargetFrameworks>netstandard2.0;net6.0;net8.0</TargetFrameworks>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<LangVersion>latest</LangVersion> <LangVersion>latest</LangVersion>
<Version>11.3.7</Version> <Version>11.2.1.9</Version>
<PackageReleaseNotes>Update to Semi.Avalonia.DataGrid 11.3.7</PackageReleaseNotes> <PackageReleaseNotes>Update to Semi.Avalonia.DataGrid 11.2.1.9</PackageReleaseNotes>
<Authors>IRIHI Technology Co., Ltd.</Authors> <Authors>IRIHI Technology Co., Ltd.</Authors>
<Description>Avalonia Theme inspired by Semi Design.</Description> <Description>Avalonia Theme inspired by Semi Design.</Description>
<RepositoryUrl>https://github.com/irihitech/Semi.Avalonia</RepositoryUrl> <RepositoryUrl>https://github.com/irihitech/Semi.Avalonia</RepositoryUrl>
@@ -20,7 +20,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Avalonia.Controls.DataGrid" Version="11.3.7"/> <PackageReference Include="Avalonia.Controls.DataGrid" Version="11.2.1"/>
<None Include="..\..\irihi.png" Pack="true" PackagePath="\" Link="Properties\irihi.png"/> <None Include="..\..\irihi.png" Pack="true" PackagePath="\" Link="Properties\irihi.png"/>
<None Include="..\..\LICENSE" Pack="true" PackagePath="\" Link="Properties\LICENSE"/> <None Include="..\..\LICENSE" Pack="true" PackagePath="\" Link="Properties\LICENSE"/>
</ItemGroup> </ItemGroup>

View File

@@ -1,8 +1,7 @@
<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:conv="clr-namespace:Avalonia.Controls.Converters;assembly=Avalonia.Controls.TreeDataGrid" xmlns:conv="clr-namespace:Avalonia.Controls.Converters;assembly=Avalonia.Controls.TreeDataGrid">
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Margin="20"> <StackPanel Margin="20">
<TreeDataGridColumnHeader Header="123" /> <TreeDataGridColumnHeader Header="123" />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type AdornerLayer}" TargetType="AdornerLayer"> <ControlTheme x:Key="{x:Type AdornerLayer}" TargetType="AdornerLayer">
<Setter Property="DefaultFocusAdorner"> <Setter Property="DefaultFocusAdorner">
<FocusAdornerTemplate> <FocusAdornerTemplate>

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Margin="20" Spacing="20"> <StackPanel Margin="20" Spacing="20">
<TextBox Text="Hello" /> <TextBox Text="Hello" />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Margin="20" Spacing="20"> <StackPanel Margin="20" Spacing="20">
<Border Theme="{StaticResource CardBorder}"> <Border Theme="{StaticResource CardBorder}">

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<!-- Button Theme Key: Light, Solid, Outline, Borderless; Default is Light --> <!-- Button Theme Key: Light, Solid, Outline, Borderless; Default is Light -->
<!-- Button Default Classes: Primary, Secondary, Tertiary, Success, Warning, Danger; Default is Primary --> <!-- Button Default Classes: Primary, Secondary, Tertiary, Success, Warning, Danger; Default is Primary -->
<!-- State: default, pointerover, pressed, disabled --> <!-- State: default, pointerover, pressed, disabled -->

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Margin="20" Spacing="20"> <StackPanel Margin="20" Spacing="20">
<ButtonSpinner Content="Hello World" /> <ButtonSpinner Content="Hello World" />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<Border Padding="20"> <Border Padding="20">
<Calendar /> <Calendar />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Margin="20" Width="800" Height="400"> <StackPanel Margin="20" Width="800" Height="400">
<CalendarDatePicker HorizontalAlignment="Center" Classes="ClearButton" /> <CalendarDatePicker HorizontalAlignment="Center" Classes="ClearButton" />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<CaptionButtons /> <CaptionButtons />
</Design.PreviewWith> </Design.PreviewWith>

View File

@@ -1,7 +1,8 @@
<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:converter="clr-namespace:Semi.Avalonia.Converters"> xmlns:converter="clr-namespace:Semi.Avalonia.Converters"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Spacing="20" Width="800" Height="800"> <StackPanel Spacing="20" Width="800" Height="800">
<StackPanel.Styles> <StackPanel.Styles>

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<ThemeVariantScope RequestedThemeVariant="Dark"> <ThemeVariantScope RequestedThemeVariant="Dark">
<StackPanel Background="{DynamicResource SemiBackground0Color}"> <StackPanel Background="{DynamicResource SemiBackground0Color}">

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Margin="20"> <StackPanel Margin="20">
<ComboBoxItem>Hello World</ComboBoxItem> <ComboBoxItem>Hello World</ComboBoxItem>
@@ -66,14 +67,8 @@
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
TextTrimming="CharacterEllipsis" TextTrimming="CharacterEllipsis"
Foreground="{TemplateBinding PlaceholderForeground}" Foreground="{TemplateBinding PlaceholderForeground}"
Text="{TemplateBinding PlaceholderText}"> IsVisible="{TemplateBinding SelectionBoxItem,Converter={x:Static ObjectConverters.IsNull}}"
<TextBlock.IsVisible> Text="{TemplateBinding PlaceholderText}" />
<MultiBinding Converter="{x:Static BoolConverters.And}">
<TemplateBinding Property="SelectionBoxItem" Converter="{x:Static ObjectConverters.IsNull}" />
<TemplateBinding Property="IsEditable" Converter="{x:Static BoolConverters.Not}" />
</MultiBinding>
</TextBlock.IsVisible>
</TextBlock>
<ContentPresenter <ContentPresenter
Name="ContentPresenter" Name="ContentPresenter"
Grid.Column="0" Grid.Column="0"
@@ -81,20 +76,7 @@
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
Content="{TemplateBinding SelectionBoxItem}" Content="{TemplateBinding SelectionBoxItem}"
ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" />
IsVisible="{TemplateBinding IsEditable, Converter={x:Static BoolConverters.Not}}" />
<TextBox
Name="PART_EditableTextBox"
Grid.Column="0"
Theme="{StaticResource LooklessTextBox}"
Padding="{TemplateBinding Padding}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
Foreground="{TemplateBinding Foreground}"
Text="{TemplateBinding Text, Mode=TwoWay}"
Watermark="{TemplateBinding PlaceholderText}"
IsVisible="{TemplateBinding IsEditable}" />
<Button <Button
Name="ClearButton" Name="ClearButton"
Grid.Column="1" Grid.Column="1"
@@ -230,11 +212,6 @@
</Style> </Style>
</Style> </Style>
<Style Selector="^[IsEditable=true]">
<Setter Property="IsTabStop" Value="False" />
<Setter Property="KeyboardNavigation.TabNavigation" Value="Local" />
</Style>
<Style Selector="^.Bordered"> <Style Selector="^.Bordered">
<Style Selector="^ /template/ Border#Background"> <Style Selector="^ /template/ Border#Background">
<Setter Property="Background" Value="{DynamicResource ComboBoxSelectorBorderedBackground}" /> <Setter Property="Background" Value="{DynamicResource ComboBoxSelectorBorderedBackground}" />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type ContextMenu}" TargetType="ContextMenu"> <ControlTheme x:Key="{x:Type ContextMenu}" TargetType="ContextMenu">
<Setter Property="Background" Value="{DynamicResource MenuFlyoutBackground}" /> <Setter Property="Background" Value="{DynamicResource MenuFlyoutBackground}" />
<Setter Property="BorderBrush" Value="{DynamicResource MenuFlyoutBorderBrush}" /> <Setter Property="BorderBrush" Value="{DynamicResource MenuFlyoutBorderBrush}" />

View File

@@ -1,7 +1,8 @@
<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:collections="clr-namespace:System.Collections;assembly=netstandard"> xmlns:collections="clr-namespace:System.Collections;assembly=netstandard"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type DataValidationErrors}" TargetType="DataValidationErrors"> <ControlTheme x:Key="{x:Type DataValidationErrors}" TargetType="DataValidationErrors">
<Setter Property="Template"> <Setter Property="Template">
<ControlTemplate TargetType="DataValidationErrors"> <ControlTemplate TargetType="DataValidationErrors">
@@ -94,10 +95,12 @@
<ToolTip.Tip> <ToolTip.Tip>
<ItemsControl x:DataType="collections:IEnumerable" ItemsSource="{Binding}" /> <ItemsControl x:DataType="collections:IEnumerable" ItemsSource="{Binding}" />
</ToolTip.Tip> </ToolTip.Tip>
<PathIcon <Path
Theme="{StaticResource InnerPathIcon}" Width="14"
Data="{StaticResource SemiIconIssueStroked}" Height="14"
Foreground="{DynamicResource DataValidationErrorsForeground}" /> Data="M14,7 A7,7 0 0,0 0,7 M0,7 A7,7 0 1,0 14,7 M7,3l0,5 M7,9l0,2"
Stroke="{DynamicResource DataValidationErrorsForeground}"
StrokeThickness="2" />
</Panel> </Panel>
</DataTemplate> </DataTemplate>
</Setter> </Setter>

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<Border Padding="20"> <Border Padding="20">
<DatePickerPresenter /> <DatePickerPresenter />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<ControlTheme x:Key="DateTimePickerFlyoutButton" TargetType="Button"> <ControlTheme x:Key="DateTimePickerFlyoutButton" TargetType="Button">
<Setter Property="RenderTransform" Value="none" /> <Setter Property="RenderTransform" Value="none" />
<Setter Property="BackgroundSizing" Value="OuterBorderEdge" /> <Setter Property="BackgroundSizing" Value="OuterBorderEdge" />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Margin="20"> <StackPanel Margin="20">
<DropDownButton Content="Button" /> <DropDownButton Content="Button" />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Margin="20" Spacing="20"> <StackPanel Margin="20" Spacing="20">
<TextBox>Hello</TextBox> <TextBox>Hello</TextBox>

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type FlyoutPresenter}" TargetType="FlyoutPresenter"> <ControlTheme x:Key="{x:Type FlyoutPresenter}" TargetType="FlyoutPresenter">
<Setter Property="HorizontalContentAlignment" Value="Stretch" /> <Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="VerticalContentAlignment" Value="Stretch" /> <Setter Property="VerticalContentAlignment" Value="Stretch" />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type GridSplitter}" TargetType="GridSplitter"> <ControlTheme x:Key="{x:Type GridSplitter}" TargetType="GridSplitter">
<Setter Property="Focusable" Value="True" /> <Setter Property="Focusable" Value="True" />
<Setter Property="MinWidth" Value="6" /> <Setter Property="MinWidth" Value="6" />

View File

@@ -1,7 +1,8 @@
<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"> xmlns:converters="clr-namespace:Avalonia.Controls.Converters;assembly=Avalonia.Controls"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Spacing="20"> <StackPanel Spacing="20">
<HeaderedContentControl <HeaderedContentControl

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel> <StackPanel>
<HyperlinkButton NavigateUri="http://www.irihi.tech/"> <HyperlinkButton NavigateUri="http://www.irihi.tech/">

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type ItemsControl}" TargetType="ItemsControl"> <ControlTheme x:Key="{x:Type ItemsControl}" TargetType="ItemsControl">
<Setter Property="Template"> <Setter Property="Template">
<ControlTemplate> <ControlTemplate>

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel <StackPanel
Width="500" Width="500"

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<ListBox Margin="30"> <ListBox Margin="30">
<ListBoxItem>Item 1</ListBoxItem> <ListBoxItem>Item 1</ListBoxItem>

View File

@@ -4,7 +4,8 @@
xmlns:converters="using:Semi.Avalonia.Converters" xmlns:converters="using:Semi.Avalonia.Converters"
xmlns:dialogs="clr-namespace:Avalonia.Dialogs;assembly=Avalonia.Dialogs" xmlns:dialogs="clr-namespace:Avalonia.Dialogs;assembly=Avalonia.Dialogs"
xmlns:internal="clr-namespace:Avalonia.Dialogs.Internal;assembly=Avalonia.Dialogs" xmlns:internal="clr-namespace:Avalonia.Dialogs.Internal;assembly=Avalonia.Dialogs"
xmlns:cvt="using:Avalonia.Controls.Converters"> xmlns:cvt="using:Avalonia.Controls.Converters"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<Border <Border
Width="800" Width="800"

View File

@@ -1,7 +1,8 @@
<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="using:Avalonia.Controls.Converters"> xmlns:converters="using:Avalonia.Controls.Converters"
x:CompileBindings="True">
<converters:PlatformKeyGestureConverter x:Key="KeyGestureConverter" /> <converters:PlatformKeyGestureConverter x:Key="KeyGestureConverter" />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<ThemeVariantScope RequestedThemeVariant="Dark"> <ThemeVariantScope RequestedThemeVariant="Dark">
<MenuFlyoutPresenter> <MenuFlyoutPresenter>

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<ThemeVariantScope RequestedThemeVariant="Dark"> <ThemeVariantScope RequestedThemeVariant="Dark">
<StackPanel> <StackPanel>

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type NumericUpDown}" TargetType="NumericUpDown"> <ControlTheme x:Key="{x:Type NumericUpDown}" TargetType="NumericUpDown">
<Setter Property="VerticalAlignment" Value="Center" /> <Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" /> <Setter Property="VerticalContentAlignment" Value="Center" />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type PathIcon}" TargetType="PathIcon"> <ControlTheme x:Key="{x:Type PathIcon}" TargetType="PathIcon">
<Setter Property="Background" Value="Transparent" /> <Setter Property="Background" Value="Transparent" />
<Setter Property="Height" Value="{DynamicResource IconElementThemeHeight}" /> <Setter Property="Height" Value="{DynamicResource IconElementThemeHeight}" />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type PopupRoot}" TargetType="PopupRoot"> <ControlTheme x:Key="{x:Type PopupRoot}" TargetType="PopupRoot">
<Setter Property="Background" Value="{x:Null}" /> <Setter Property="Background" Value="{x:Null}" />
<Setter Property="TransparencyLevelHint" Value="Transparent" /> <Setter Property="TransparencyLevelHint" Value="Transparent" />

View File

@@ -2,7 +2,8 @@
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="using:Avalonia.Controls.Converters" xmlns:converters="using:Avalonia.Controls.Converters"
xmlns:semiConverters="clr-namespace:Semi.Avalonia.Converters"> xmlns:semiConverters="clr-namespace:Semi.Avalonia.Converters"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Margin="20" Spacing="20"> <StackPanel Margin="20" Spacing="20">
<ProgressBar <ProgressBar

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<ThemeVariantScope RequestedThemeVariant="Dark"> <ThemeVariantScope RequestedThemeVariant="Dark">
<StackPanel Background="{DynamicResource SemiBackground0Color}"> <StackPanel Background="{DynamicResource SemiBackground0Color}">

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type RefreshContainer}" TargetType="RefreshContainer"> <ControlTheme x:Key="{x:Type RefreshContainer}" TargetType="RefreshContainer">
<Setter Property="Template"> <Setter Property="Template">
<ControlTemplate> <ControlTemplate>

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<StaticResource x:Key="{x:Type RepeatButton}" ResourceKey="{x:Type Button}" /> <StaticResource x:Key="{x:Type RepeatButton}" ResourceKey="{x:Type Button}" />
<StaticResource x:Key="SolidRepeatButton" ResourceKey="SolidButton" /> <StaticResource x:Key="SolidRepeatButton" ResourceKey="SolidButton" />
<StaticResource x:Key="OutlineRepeatButton" ResourceKey="OutlineButton" /> <StaticResource x:Key="OutlineRepeatButton" ResourceKey="OutlineButton" />

View File

@@ -1,7 +1,8 @@
<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="using:Avalonia.Controls.Converters"> xmlns:converters="using:Avalonia.Controls.Converters"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel> <StackPanel>
<ScrollBar Width="200" Orientation="Horizontal" /> <ScrollBar Width="200" Orientation="Horizontal" />
@@ -310,4 +311,52 @@
</ControlTemplate> </ControlTemplate>
</Setter> </Setter>
</ControlTheme> </ControlTheme>
<ControlTheme x:Key="SimpleMenuScrollViewer" TargetType="ScrollViewer">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Template">
<ControlTemplate TargetType="ScrollViewer">
<DockPanel>
<RepeatButton
Background="Transparent"
BorderThickness="0"
Command="{Binding LineUp, RelativeSource={RelativeSource TemplatedParent}}"
DockPanel.Dock="Top">
<RepeatButton.IsVisible>
<MultiBinding Converter="{x:Static converters:MenuScrollingVisibilityConverter.Instance}" ConverterParameter="0">
<Binding Path="VerticalScrollBarVisibility" RelativeSource="{RelativeSource TemplatedParent}" />
<Binding Path="Offset.Y" RelativeSource="{RelativeSource TemplatedParent}" />
<Binding Path="Extent.Height" RelativeSource="{RelativeSource TemplatedParent}" />
<Binding Path="Viewport.Height" RelativeSource="{RelativeSource TemplatedParent}" />
</MultiBinding>
</RepeatButton.IsVisible>
<Path Data="M 0 4 L 8 4 L 4 0 Z" />
</RepeatButton>
<RepeatButton
Background="Transparent"
BorderThickness="0"
Command="{Binding LineDown, RelativeSource={RelativeSource TemplatedParent}}"
DockPanel.Dock="Bottom">
<RepeatButton.IsVisible>
<MultiBinding Converter="{x:Static converters:MenuScrollingVisibilityConverter.Instance}" ConverterParameter="100">
<Binding Path="VerticalScrollBarVisibility" RelativeSource="{RelativeSource TemplatedParent}" />
<Binding Path="Offset.Y" RelativeSource="{RelativeSource TemplatedParent}" />
<Binding Path="Extent.Height" RelativeSource="{RelativeSource TemplatedParent}" />
<Binding Path="Viewport.Height" RelativeSource="{RelativeSource TemplatedParent}" />
</MultiBinding>
</RepeatButton.IsVisible>
<Path Data="M 0 0 L 4 4 L 8 0 Z" />
</RepeatButton>
<ScrollContentPresenter Name="PART_ContentPresenter" Margin="{TemplateBinding Padding}" />
</DockPanel>
</ControlTemplate>
</Setter>
<Style Selector="^ /template/ RepeatButton > Path">
<Setter Property="Fill" Value="{DynamicResource ColorScrollBarButtonDefaultForeground}" />
</Style>
<Style Selector="^ /template/ RepeatButton:pointerover > Path">
<Setter Property="Fill" Value="{DynamicResource ColorScrollBarButtonPointeroverForeground}" />
</Style>
</ControlTheme>
</ResourceDictionary> </ResourceDictionary>

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<MenuFlyout x:Key="SelectableTextBlockContextFlyout" Placement="Bottom"> <MenuFlyout x:Key="SelectableTextBlockContextFlyout" Placement="Bottom">
<MenuItem <MenuItem

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<ControlTheme x:Key="SliderHorizontalRepeatButton" TargetType="RepeatButton"> <ControlTheme x:Key="SliderHorizontalRepeatButton" TargetType="RepeatButton">
<Setter Property="Template"> <Setter Property="Template">
<ControlTemplate TargetType="RepeatButton"> <ControlTemplate TargetType="RepeatButton">

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Width="500" Height="500" Margin="20" Spacing="8"> <StackPanel Width="500" Height="500" Margin="20" Spacing="8">
<SplitButton <SplitButton

View File

@@ -1,4 +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"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type SplitView}" TargetType="SplitView"> <ControlTheme x:Key="{x:Type SplitView}" TargetType="SplitView">
<Setter Property="OpenPaneLength" Value="{DynamicResource SplitViewOpenPaneThemeLength}" /> <Setter Property="OpenPaneLength" Value="{DynamicResource SplitViewOpenPaneThemeLength}" />
<Setter Property="CompactPaneLength" Value="{DynamicResource SplitViewCompactPaneThemeLength}" /> <Setter Property="CompactPaneLength" Value="{DynamicResource SplitViewCompactPaneThemeLength}" />
@@ -98,7 +101,7 @@
<Style Selector="^:right"> <Style Selector="^:right">
<Setter Property="Template"> <Setter Property="Template">
<ControlTemplate TargetType="SplitView"> <ControlTemplate>
<Grid Name="Container" Background="{TemplateBinding Background}"> <Grid Name="Container" Background="{TemplateBinding Background}">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*" />
@@ -183,190 +186,8 @@
</Style> </Style>
</Style> </Style>
<Style Selector="^:top">
<Setter Property="Template">
<ControlTemplate TargetType="SplitView">
<Grid Name="Container" Background="{TemplateBinding Background}">
<Grid.RowDefinitions>
<!-- why is this throwing a binding error? -->
<RowDefinition Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.PaneColumnGridLength}" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Panel
Name="PART_PaneRoot"
VerticalAlignment="Top"
Background="{TemplateBinding PaneBackground}"
ClipToBounds="True"
ZIndex="100">
<ContentPresenter
Name="PART_PanePresenter"
Content="{TemplateBinding Pane}"
ContentTemplate="{TemplateBinding PaneTemplate}" />
<Rectangle
Name="HCPaneBorder"
Height="1"
VerticalAlignment="Bottom"
Fill="{DynamicResource SplitViewSeparatorBackground}" />
</Panel>
<Panel Name="ContentRoot">
<ContentPresenter
Name="PART_ContentPresenter"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}" />
<Rectangle
Name="LightDismissLayer"
Fill="Transparent"
IsVisible="False" />
</Panel>
</Grid>
</ControlTemplate>
</Setter>
<Style Selector="^:overlay">
<Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
<Setter Property="Grid.RowSpan" Value="1" />
<Setter Property="Grid.Row" Value="0" />
</Style>
<Style Selector="^ /template/ Panel#ContentRoot">
<Setter Property="Grid.Row" Value="1" />
<Setter Property="Grid.RowSpan" Value="2" />
</Style>
</Style>
<Style Selector="^:compactinline">
<Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Grid.RowSpan" Value="1" />
<Setter Property="Grid.Row" Value="0" />
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style>
<Style Selector="^ /template/ Panel#ContentRoot">
<Setter Property="Grid.Row" Value="1" />
<Setter Property="Grid.RowSpan" Value="1" />
</Style>
</Style>
<Style Selector="^:compactoverlay">
<Style Selector="^ /template/ Panel#PART_PaneRoot">
<!-- RowSpan should be 2 -->
<Setter Property="Grid.RowSpan" Value="1" />
<Setter Property="Grid.Row" Value="0" />
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style>
<Style Selector="^ /template/ Panel#ContentRoot">
<Setter Property="Grid.Row" Value="1" />
<Setter Property="Grid.RowSpan" Value="1" />
</Style>
</Style>
<Style Selector="^:inline">
<Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Grid.RowSpan" Value="1" />
<Setter Property="Grid.Row" Value="0" />
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style>
<Style Selector="^ /template/ Panel#ContentRoot">
<Setter Property="Grid.Row" Value="1" />
<Setter Property="Grid.RowSpan" Value="1" />
</Style>
</Style>
</Style>
<Style Selector="^:bottom">
<Setter Property="Template">
<ControlTemplate TargetType="SplitView">
<Grid Name="Container" Background="{TemplateBinding Background}">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.PaneColumnGridLength}" />
</Grid.RowDefinitions>
<Panel
Name="PART_PaneRoot"
VerticalAlignment="Bottom"
Background="{TemplateBinding PaneBackground}"
ClipToBounds="True"
ZIndex="100">
<ContentPresenter
Name="PART_PanePresenter"
Content="{TemplateBinding Pane}"
ContentTemplate="{TemplateBinding PaneTemplate}" />
<Rectangle
Name="HCPaneBorder"
Height="1"
VerticalAlignment="Top"
Fill="{DynamicResource SplitViewSeparatorBackground}" />
</Panel>
<Panel Name="ContentRoot">
<ContentPresenter
Name="PART_ContentPresenter"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}" />
<Rectangle
Name="LightDismissLayer"
Fill="Transparent"
IsVisible="False" />
</Panel>
</Grid>
</ControlTemplate>
</Setter>
<Style Selector="^:overlay">
<Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
<Setter Property="Grid.RowSpan" Value="2" />
<Setter Property="Grid.Row" Value="1" />
</Style>
<Style Selector="^ /template/ Panel#ContentRoot">
<Setter Property="Grid.Row" Value="0" />
<Setter Property="Grid.RowSpan" Value="2" />
</Style>
</Style>
<Style Selector="^:compactinline">
<Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Grid.RowSpan" Value="1" />
<Setter Property="Grid.Row" Value="1" />
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style>
<Style Selector="^ /template/ Panel#ContentRoot">
<Setter Property="Grid.Row" Value="0" />
<Setter Property="Grid.RowSpan" Value="1" />
</Style>
</Style>
<Style Selector="^:compactoverlay">
<Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Grid.RowSpan" Value="2" />
<Setter Property="Grid.Row" Value="1" />
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style>
<Style Selector="^ /template/ Panel#ContentRoot">
<Setter Property="Grid.Row" Value="0" />
<Setter Property="Grid.RowSpan" Value="1" />
</Style>
</Style>
<Style Selector="^:inline">
<Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Grid.RowSpan" Value="1" />
<Setter Property="Grid.Row" Value="1" />
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style>
<Style Selector="^ /template/ Panel#ContentRoot">
<Setter Property="Grid.Row" Value="0" />
<Setter Property="Grid.RowSpan" Value="1" />
</Style>
</Style>
</Style>
<Style Selector="^:open"> <Style Selector="^:open">
<Style Selector="^:left /template/ Panel#PART_PaneRoot"> <Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Transitions"> <Setter Property="Transitions">
<Transitions> <Transitions>
<DoubleTransition <DoubleTransition
@@ -377,39 +198,6 @@
</Setter> </Setter>
<Setter Property="Width" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=OpenPaneLength}" /> <Setter Property="Width" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=OpenPaneLength}" />
</Style> </Style>
<Style Selector="^:right /template/ Panel#PART_PaneRoot">
<Setter Property="Transitions">
<Transitions>
<DoubleTransition
Easing="{StaticResource SplitViewPaneAnimationEasing}"
Property="Width"
Duration="{StaticResource SplitViewPaneAnimationOpenDuration}" />
</Transitions>
</Setter>
<Setter Property="Width" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=OpenPaneLength}" />
</Style>
<Style Selector="^:top /template/ Panel#PART_PaneRoot">
<Setter Property="Transitions">
<Transitions>
<DoubleTransition
Easing="{StaticResource SplitViewPaneAnimationEasing}"
Property="Height"
Duration="{StaticResource SplitViewPaneAnimationOpenDuration}" />
</Transitions>
</Setter>
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=OpenPaneLength}" />
</Style>
<Style Selector="^:bottom /template/ Panel#PART_PaneRoot">
<Setter Property="Transitions">
<Transitions>
<DoubleTransition
Easing="{StaticResource SplitViewPaneAnimationEasing}"
Property="Height"
Duration="{StaticResource SplitViewPaneAnimationOpenDuration}" />
</Transitions>
</Setter>
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=OpenPaneLength}" />
</Style>
<Style Selector="^ /template/ Rectangle#LightDismissLayer"> <Style Selector="^ /template/ Rectangle#LightDismissLayer">
<Setter Property="Transitions"> <Setter Property="Transitions">
<Transitions> <Transitions>
@@ -424,7 +212,7 @@
</Style> </Style>
<Style Selector="^:closed"> <Style Selector="^:closed">
<Style Selector="^:left /template/ Panel#PART_PaneRoot"> <Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Transitions"> <Setter Property="Transitions">
<Transitions> <Transitions>
<DoubleTransition <DoubleTransition
@@ -435,39 +223,6 @@
</Setter> </Setter>
<Setter Property="Width" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" /> <Setter Property="Width" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style> </Style>
<Style Selector="^:right /template/ Panel#PART_PaneRoot">
<Setter Property="Transitions">
<Transitions>
<DoubleTransition
Easing="{StaticResource SplitViewPaneAnimationEasing}"
Property="Width"
Duration="{StaticResource SplitViewPaneAnimationCloseDuration}" />
</Transitions>
</Setter>
<Setter Property="Width" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style>
<Style Selector="^:top /template/ Panel#PART_PaneRoot">
<Setter Property="Transitions">
<Transitions>
<DoubleTransition
Easing="{StaticResource SplitViewPaneAnimationEasing}"
Property="Height"
Duration="{StaticResource SplitViewPaneAnimationCloseDuration}" />
</Transitions>
</Setter>
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style>
<Style Selector="^:bottom /template/ Panel#PART_PaneRoot">
<Setter Property="Transitions">
<Transitions>
<DoubleTransition
Easing="{StaticResource SplitViewPaneAnimationEasing}"
Property="Height"
Duration="{StaticResource SplitViewPaneAnimationCloseDuration}" />
</Transitions>
</Setter>
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style>
<Style Selector="^ /template/ Rectangle#LightDismissLayer"> <Style Selector="^ /template/ Rectangle#LightDismissLayer">
<Setter Property="Transitions"> <Setter Property="Transitions">
<Transitions> <Transitions>
@@ -491,8 +246,6 @@
<Setter Property="IsVisible" Value="True" /> <Setter Property="IsVisible" Value="True" />
</Style> </Style>
</ControlTheme> </ControlTheme>
<!-- Obsolete after Avalonia 11.3.7 -->
<ControlTheme x:Key="VerticalSplitView" TargetType="SplitView"> <ControlTheme x:Key="VerticalSplitView" TargetType="SplitView">
<Setter Property="OpenPaneLength" Value="{DynamicResource SplitViewOpenPaneThemeLength}" /> <Setter Property="OpenPaneLength" Value="{DynamicResource SplitViewOpenPaneThemeLength}" />
<Setter Property="CompactPaneLength" Value="{DynamicResource SplitViewCompactPaneThemeLength}" /> <Setter Property="CompactPaneLength" Value="{DynamicResource SplitViewCompactPaneThemeLength}" />
@@ -504,7 +257,8 @@
<Grid Name="Container" Background="{TemplateBinding Background}"> <Grid Name="Container" Background="{TemplateBinding Background}">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<!-- why is this throwing a binding error? --> <!-- why is this throwing a binding error? -->
<RowDefinition Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.PaneColumnGridLength}" /> <RowDefinition
Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.PaneColumnGridLength}" />
<RowDefinition Height="*" /> <RowDefinition Height="*" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
@@ -542,7 +296,8 @@
<Style Selector="^:overlay"> <Style Selector="^:overlay">
<Style Selector="^ /template/ Panel#PART_PaneRoot"> <Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" /> <Setter Property="Height"
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
<Setter Property="Grid.RowSpan" Value="1" /> <Setter Property="Grid.RowSpan" Value="1" />
<Setter Property="Grid.Row" Value="0" /> <Setter Property="Grid.Row" Value="0" />
</Style> </Style>
@@ -556,7 +311,8 @@
<Style Selector="^ /template/ Panel#PART_PaneRoot"> <Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Grid.RowSpan" Value="1" /> <Setter Property="Grid.RowSpan" Value="1" />
<Setter Property="Grid.Row" Value="0" /> <Setter Property="Grid.Row" Value="0" />
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" /> <Setter Property="Height"
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style> </Style>
<Style Selector="^ /template/ Panel#ContentRoot"> <Style Selector="^ /template/ Panel#ContentRoot">
<Setter Property="Grid.Row" Value="1" /> <Setter Property="Grid.Row" Value="1" />
@@ -569,7 +325,8 @@
<!-- RowSpan should be 2 --> <!-- RowSpan should be 2 -->
<Setter Property="Grid.RowSpan" Value="1" /> <Setter Property="Grid.RowSpan" Value="1" />
<Setter Property="Grid.Row" Value="0" /> <Setter Property="Grid.Row" Value="0" />
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" /> <Setter Property="Height"
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style> </Style>
<Style Selector="^ /template/ Panel#ContentRoot"> <Style Selector="^ /template/ Panel#ContentRoot">
<Setter Property="Grid.Row" Value="1" /> <Setter Property="Grid.Row" Value="1" />
@@ -581,7 +338,8 @@
<Style Selector="^ /template/ Panel#PART_PaneRoot"> <Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Grid.RowSpan" Value="1" /> <Setter Property="Grid.RowSpan" Value="1" />
<Setter Property="Grid.Row" Value="0" /> <Setter Property="Grid.Row" Value="0" />
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" /> <Setter Property="Height"
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style> </Style>
<Style Selector="^ /template/ Panel#ContentRoot"> <Style Selector="^ /template/ Panel#ContentRoot">
<Setter Property="Grid.Row" Value="1" /> <Setter Property="Grid.Row" Value="1" />
@@ -596,7 +354,8 @@
<Grid Name="Container" Background="{TemplateBinding Background}"> <Grid Name="Container" Background="{TemplateBinding Background}">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="*" /> <RowDefinition Height="*" />
<RowDefinition Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.PaneColumnGridLength}" /> <RowDefinition
Height="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.PaneColumnGridLength}" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Panel <Panel
@@ -630,7 +389,8 @@
<Style Selector="^:overlay"> <Style Selector="^:overlay">
<Style Selector="^ /template/ Panel#PART_PaneRoot"> <Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" /> <Setter Property="Height"
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
<Setter Property="Grid.RowSpan" Value="2" /> <Setter Property="Grid.RowSpan" Value="2" />
<Setter Property="Grid.Row" Value="1" /> <Setter Property="Grid.Row" Value="1" />
</Style> </Style>
@@ -644,7 +404,8 @@
<Style Selector="^ /template/ Panel#PART_PaneRoot"> <Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Grid.RowSpan" Value="1" /> <Setter Property="Grid.RowSpan" Value="1" />
<Setter Property="Grid.Row" Value="1" /> <Setter Property="Grid.Row" Value="1" />
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" /> <Setter Property="Height"
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style> </Style>
<Style Selector="^ /template/ Panel#ContentRoot"> <Style Selector="^ /template/ Panel#ContentRoot">
<Setter Property="Grid.Row" Value="0" /> <Setter Property="Grid.Row" Value="0" />
@@ -656,7 +417,8 @@
<Style Selector="^ /template/ Panel#PART_PaneRoot"> <Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Grid.RowSpan" Value="2" /> <Setter Property="Grid.RowSpan" Value="2" />
<Setter Property="Grid.Row" Value="1" /> <Setter Property="Grid.Row" Value="1" />
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" /> <Setter Property="Height"
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style> </Style>
<Style Selector="^ /template/ Panel#ContentRoot"> <Style Selector="^ /template/ Panel#ContentRoot">
<Setter Property="Grid.Row" Value="0" /> <Setter Property="Grid.Row" Value="0" />
@@ -668,7 +430,8 @@
<Style Selector="^ /template/ Panel#PART_PaneRoot"> <Style Selector="^ /template/ Panel#PART_PaneRoot">
<Setter Property="Grid.RowSpan" Value="1" /> <Setter Property="Grid.RowSpan" Value="1" />
<Setter Property="Grid.Row" Value="1" /> <Setter Property="Grid.Row" Value="1" />
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" /> <Setter Property="Height"
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style> </Style>
<Style Selector="^ /template/ Panel#ContentRoot"> <Style Selector="^ /template/ Panel#ContentRoot">
<Setter Property="Grid.Row" Value="0" /> <Setter Property="Grid.Row" Value="0" />
@@ -687,7 +450,8 @@
Duration="{StaticResource SplitViewPaneAnimationOpenDuration}" /> Duration="{StaticResource SplitViewPaneAnimationOpenDuration}" />
</Transitions> </Transitions>
</Setter> </Setter>
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=OpenPaneLength}" /> <Setter Property="Height"
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=OpenPaneLength}" />
</Style> </Style>
<Style Selector="^ /template/ Rectangle#LightDismissLayer"> <Style Selector="^ /template/ Rectangle#LightDismissLayer">
<Setter Property="Transitions"> <Setter Property="Transitions">
@@ -712,7 +476,8 @@
Duration="{StaticResource SplitViewPaneAnimationCloseDuration}" /> Duration="{StaticResource SplitViewPaneAnimationCloseDuration}" />
</Transitions> </Transitions>
</Setter> </Setter>
<Setter Property="Height" Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" /> <Setter Property="Height"
Value="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TemplateSettings.ClosedPaneWidth}" />
</Style> </Style>
<Style Selector="^ /template/ Rectangle#LightDismissLayer"> <Style Selector="^ /template/ Rectangle#LightDismissLayer">
<Setter Property="Transitions"> <Setter Property="Transitions">

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Width="400" Height="400" Margin="20"> <StackPanel Width="400" Height="400" Margin="20">
<TabControl <TabControl

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel <StackPanel
Width="400" Width="400"

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Width="400" Height="400" Margin="20"> <StackPanel Width="400" Height="400" Margin="20">
<TabStrip Theme="{DynamicResource LineTabStrip}"> <TabStrip Theme="{DynamicResource LineTabStrip}">

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Spacing="20"> <StackPanel Spacing="20">
<TextBlock Text="Test" Theme="{StaticResource TitleTextBlock}" /> <TextBlock Text="Test" Theme="{StaticResource TitleTextBlock}" />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<MenuFlyout x:Key="DefaultTextBoxContextFlyout" Placement="Bottom"> <MenuFlyout x:Key="DefaultTextBoxContextFlyout" Placement="Bottom">
<MenuItem <MenuItem
Command="{Binding $parent[TextBox].Cut}" Command="{Binding $parent[TextBox].Cut}"
@@ -28,6 +29,7 @@
<Setter Property="BorderThickness" Value="{DynamicResource TextBoxBorderThickness}" /> <Setter Property="BorderThickness" Value="{DynamicResource TextBoxBorderThickness}" />
<Setter Property="BackgroundSizing" Value="OuterBorderEdge" /> <Setter Property="BackgroundSizing" Value="OuterBorderEdge" />
<Setter Property="CornerRadius" Value="{DynamicResource TextBoxDefaultCornerRadius}" /> <Setter Property="CornerRadius" Value="{DynamicResource TextBoxDefaultCornerRadius}" />
<Setter Property="Cursor" Value="Ibeam" />
<Setter Property="CaretBrush" Value="{DynamicResource TextBoxTextCaretBrush}" /> <Setter Property="CaretBrush" Value="{DynamicResource TextBoxTextCaretBrush}" />
<Setter Property="Padding" Value="{DynamicResource TextBoxContentPadding}" /> <Setter Property="Padding" Value="{DynamicResource TextBoxContentPadding}" />
<Setter Property="MinHeight" Value="{DynamicResource TextBoxDefaultHeight}" /> <Setter Property="MinHeight" Value="{DynamicResource TextBoxDefaultHeight}" />
@@ -95,11 +97,6 @@
TextAlignment="{TemplateBinding TextAlignment}" TextAlignment="{TemplateBinding TextAlignment}"
TextWrapping="{TemplateBinding TextWrapping}" /> TextWrapping="{TemplateBinding TextWrapping}" />
</Panel> </Panel>
<ScrollViewer.Styles>
<Style Selector="ScrollContentPresenter#PART_ContentPresenter">
<Setter Property="Cursor" Value="Ibeam" />
</Style>
</ScrollViewer.Styles>
</ScrollViewer> </ScrollViewer>
<Button <Button
Name="PART_ClearButton" Name="PART_ClearButton"
@@ -491,7 +488,6 @@
<Setter Property="VerticalContentAlignment" Value="Center" /> <Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="FocusAdorner" Value="{x:Null}" /> <Setter Property="FocusAdorner" Value="{x:Null}" />
<Setter Property="ScrollViewer.IsScrollChainingEnabled" Value="True" /> <Setter Property="ScrollViewer.IsScrollChainingEnabled" Value="True" />
<Setter Property="ContextFlyout" Value="{StaticResource DefaultTextBoxContextFlyout}" />
<Setter Property="Template"> <Setter Property="Template">
<ControlTemplate TargetType="TextBox"> <ControlTemplate TargetType="TextBox">
<Border Name="PART_ContentPresenterBorder" MinHeight="{TemplateBinding MinHeight}"> <Border Name="PART_ContentPresenterBorder" MinHeight="{TemplateBinding MinHeight}">

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type ThemeVariantScope}" TargetType="ThemeVariantScope"> <ControlTheme x:Key="{x:Type ThemeVariantScope}" TargetType="ThemeVariantScope">
<Setter Property="TextElement.Foreground" Value="{DynamicResource DefaultForeground}" /> <Setter Property="TextElement.Foreground" Value="{DynamicResource DefaultForeground}" />
<Setter Property="TextElement.FontSize" Value="{DynamicResource DefaultFontSize}" /> <Setter Property="TextElement.FontSize" Value="{DynamicResource DefaultFontSize}" />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<Border Padding="20"> <Border Padding="20">
<TimePickerPresenter /> <TimePickerPresenter />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type TitleBar}" TargetType="TitleBar"> <ControlTheme x:Key="{x:Type TitleBar}" TargetType="TitleBar">
<Setter Property="VerticalAlignment" Value="Top" /> <Setter Property="VerticalAlignment" Value="Top" />
<Setter Property="HorizontalAlignment" Value="Stretch" /> <Setter Property="HorizontalAlignment" Value="Stretch" />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel Margin="20"> <StackPanel Margin="20">
<ToggleButton Classes="Primary">Toggle</ToggleButton> <ToggleButton Classes="Primary">Toggle</ToggleButton>

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<ThemeVariantScope RequestedThemeVariant="Dark"> <ThemeVariantScope RequestedThemeVariant="Dark">
<StackPanel Spacing="8" Background="{DynamicResource SemiBackground0Color}"> <StackPanel Spacing="8" Background="{DynamicResource SemiBackground0Color}">

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type ToolTip}" TargetType="ToolTip"> <ControlTheme x:Key="{x:Type ToolTip}" TargetType="ToolTip">
<Setter Property="Foreground" Value="{DynamicResource ToolTipForeground}" /> <Setter Property="Foreground" Value="{DynamicResource ToolTipForeground}" />
<Setter Property="Background" Value="{DynamicResource ToolTipBackground}" /> <Setter Property="Background" Value="{DynamicResource ToolTipBackground}" />

View File

@@ -1,6 +1,7 @@
<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"
x:CompileBindings="True">
<ControlTheme x:Key="{x:Type TransitioningContentControl}" TargetType="TransitioningContentControl"> <ControlTheme x:Key="{x:Type TransitioningContentControl}" TargetType="TransitioningContentControl">
<Setter Property="Template"> <Setter Property="Template">
<ControlTemplate> <ControlTemplate>

View File

@@ -1,7 +1,8 @@
<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:Semi.Avalonia.Converters"> xmlns:converters="clr-namespace:Semi.Avalonia.Converters"
x:CompileBindings="True">
<Design.PreviewWith> <Design.PreviewWith>
<StackPanel <StackPanel

Some files were not shown because too many files have changed in this diff Show More