Files
Semi.Avalonia/demo/Semi.Avalonia.Demo/Themes/FunctionalColorGroupControl.axaml

153 lines
10 KiB
Plaintext
Raw Normal View History

2023-02-13 02:17:38 +08:00
<ResourceDictionary
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:Semi.Avalonia.Demo.Controls"
xmlns:viewModels="clr-namespace:Semi.Avalonia.Demo.ViewModels"
2025-01-21 20:24:21 +08:00
xmlns:pages="clr-namespace:Semi.Avalonia.Demo.Pages"
x:CompileBindings="True"
x:DataType="viewModels:FunctionalColorGroupViewModel">
2023-02-13 02:17:38 +08:00
<ControlTheme x:Key="{x:Type controls:FunctionalColorGroupControl}" TargetType="controls:FunctionalColorGroupControl">
2024-11-15 02:20:32 +08:00
<Setter Property="Template">
<ControlTemplate TargetType="controls:FunctionalColorGroupControl">
2023-02-13 02:17:38 +08:00
<Grid RowDefinitions="Auto, *">
2024-11-15 02:20:32 +08:00
<SelectableTextBlock
2023-02-13 02:17:38 +08:00
Grid.Row="0"
Margin="0,16,0,0"
Classes="H3"
Text="{TemplateBinding Title}"
2024-11-15 02:20:32 +08:00
Theme="{DynamicResource TitleSelectableTextBlock}" />
2023-02-13 02:17:38 +08:00
<TabControl Grid.Row="1">
<TabItem Header="Light">
2023-04-23 01:10:23 +08:00
<DataGrid IsReadOnly="True" ItemsSource="{TemplateBinding LightColors}">
2023-02-13 02:17:38 +08:00
<DataGrid.Columns>
2023-02-13 03:41:49 +08:00
<DataGridTemplateColumn Width="70" Header="Color">
2023-02-13 02:55:29 +08:00
<DataGridTemplateColumn.CellTemplate>
<DataTemplate DataType="viewModels:ColorItemViewModel">
2023-02-13 02:55:29 +08:00
<controls:ColorItemControl
Width="40"
Height="20"
Background="{Binding Brush}"
CornerRadius="3" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
2025-01-21 20:24:21 +08:00
<DataGridTemplateColumn Width="300" Header="ResourceKey">
2023-02-13 02:17:38 +08:00
<DataGridTemplateColumn.CellTemplate>
<DataTemplate DataType="viewModels:ColorItemViewModel">
<SelectableTextBlock
2025-01-21 20:24:21 +08:00
Margin="12,0"
2023-02-14 17:41:21 +08:00
VerticalAlignment="Center"
Text="{Binding ResourceKey}" />
2023-02-13 02:17:38 +08:00
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
2023-02-13 03:41:49 +08:00
<DataGridTemplateColumn Width="100" Header="Hex">
2023-02-13 02:17:38 +08:00
<DataGridTemplateColumn.CellTemplate>
<DataTemplate DataType="viewModels:ColorItemViewModel">
2023-02-13 02:55:29 +08:00
<SelectableTextBlock
2025-01-21 20:24:21 +08:00
Margin="12,0"
2023-02-13 02:55:29 +08:00
VerticalAlignment="Center"
Text="{Binding Hex}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
2023-02-13 03:41:49 +08:00
<DataGridTemplateColumn Width="80" Header="Opacity">
2023-02-13 02:55:29 +08:00
<DataGridTemplateColumn.CellTemplate>
<DataTemplate DataType="viewModels:ColorItemViewModel">
2023-02-13 02:55:29 +08:00
<SelectableTextBlock
2025-01-21 20:24:21 +08:00
Margin="12,0"
2023-02-13 02:55:29 +08:00
VerticalAlignment="Center"
Text="{Binding Brush.Opacity}" />
2023-02-13 02:17:38 +08:00
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
2025-01-21 20:24:21 +08:00
<DataGridTextColumn
Width="*"
x:DataType="viewModels:ColorItemViewModel"
Binding="{Binding ColorDisplayName}"
CanUserSort="False"
Header="Description" />
<DataGridTemplateColumn Width="100" Header="CopyText">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate DataType="viewModels:ColorItemViewModel">
<Button
Command="{Binding $parent[pages:PaletteDemo].Copy}"
CommandParameter="{Binding CopyText}"
Theme="{DynamicResource IconBorderlessButton}"
Content="{StaticResource SemiIconCopy}" />
2025-01-21 20:24:21 +08:00
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
2023-02-13 02:17:38 +08:00
</DataGrid.Columns>
</DataGrid>
</TabItem>
<TabItem Header="Dark">
2023-04-23 01:10:23 +08:00
<DataGrid IsReadOnly="True" ItemsSource="{TemplateBinding DarkColors}">
2023-02-13 02:17:38 +08:00
<DataGrid.Columns>
2023-02-13 03:41:49 +08:00
<DataGridTemplateColumn Width="70" Header="Color">
2023-02-13 02:55:29 +08:00
<DataGridTemplateColumn.CellTemplate>
<DataTemplate DataType="viewModels:ColorItemViewModel">
2023-02-13 02:55:29 +08:00
<controls:ColorItemControl
Width="40"
Height="20"
Background="{Binding Brush}"
CornerRadius="3" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
2025-01-21 20:24:21 +08:00
<DataGridTemplateColumn Width="300" Header="ResourceKey">
2023-02-13 02:17:38 +08:00
<DataGridTemplateColumn.CellTemplate>
<DataTemplate DataType="viewModels:ColorItemViewModel">
2023-02-14 17:41:21 +08:00
<SelectableTextBlock
2025-01-21 20:24:21 +08:00
Margin="12,0"
2023-02-14 17:41:21 +08:00
VerticalAlignment="Center"
Text="{Binding ResourceKey}" />
2023-02-13 02:17:38 +08:00
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
2023-02-13 03:41:49 +08:00
<DataGridTemplateColumn Width="100" Header="Hex">
2023-02-13 02:55:29 +08:00
<DataGridTemplateColumn.CellTemplate>
<DataTemplate DataType="viewModels:ColorItemViewModel">
2023-02-13 02:55:29 +08:00
<SelectableTextBlock
2025-01-21 20:24:21 +08:00
Margin="12,0"
2023-02-13 02:55:29 +08:00
VerticalAlignment="Center"
Text="{Binding Hex}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
2023-02-13 03:41:49 +08:00
<DataGridTemplateColumn Width="80" Header="Opacity">
2023-02-13 02:17:38 +08:00
<DataGridTemplateColumn.CellTemplate>
<DataTemplate DataType="viewModels:ColorItemViewModel">
2023-02-13 02:55:29 +08:00
<SelectableTextBlock
2025-01-21 20:24:21 +08:00
Margin="12,0"
2023-02-13 02:55:29 +08:00
VerticalAlignment="Center"
Text="{Binding Brush.Opacity}" />
2023-02-13 02:17:38 +08:00
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
2025-01-21 20:24:21 +08:00
<DataGridTextColumn
Width="*"
x:DataType="viewModels:ColorItemViewModel"
Binding="{Binding ColorDisplayName}"
CanUserSort="False"
Header="Description" />
<DataGridTemplateColumn Width="100" Header="CopyText">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate DataType="viewModels:ColorItemViewModel">
<Button
Command="{Binding $parent[pages:PaletteDemo].Copy}"
CommandParameter="{Binding CopyText}"
Theme="{DynamicResource IconBorderlessButton}"
Content="{StaticResource SemiIconCopy}" />
2025-01-21 20:24:21 +08:00
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
2023-02-13 02:17:38 +08:00
</DataGrid.Columns>
</DataGrid>
</TabItem>
</TabControl>
</Grid>
</ControlTemplate>
</Setter>
</ControlTheme>
2024-11-15 02:20:32 +08:00
</ResourceDictionary>