feat: add Themes.

This commit is contained in:
Zhang Dian
2023-07-27 23:48:58 +08:00
parent 237d63d414
commit 40fc7a04b1
5 changed files with 111 additions and 9 deletions

View File

@@ -63,4 +63,28 @@
<Setter Property="HeaderBackground" Value="{Binding Background, RelativeSource={RelativeSource Self}}" />
</Style>
</ControlTheme>
<ControlTheme
x:Key="FlatSquare"
BasedOn="{StaticResource {x:Type u:DualBadge}}"
TargetType="u:DualBadge">
<Setter Property="CornerRadius" Value="0" />
</ControlTheme>
<ControlTheme
x:Key="Plastic"
BasedOn="{StaticResource {x:Type u:DualBadge}}"
TargetType="u:DualBadge">
<Setter Property="Background">
</Setter>
</ControlTheme>
<ControlTheme
x:Key="ForTheBadge"
BasedOn="{StaticResource {x:Type u:DualBadge}}"
TargetType="u:DualBadge">
<Setter Property="CornerRadius" Value="0" />
<Setter Property="Padding" Value="12 6" />
</ControlTheme>
</ResourceDictionary>

View File

@@ -3,5 +3,12 @@
<SolidColorBrush x:Key="DualBadgeDefaultHeaderForeground">White</SolidColorBrush>
<SolidColorBrush x:Key="DualBadgeDefaultHeaderBackground">#FF888D92</SolidColorBrush>
<SolidColorBrush x:Key="DualBadgeDefaultForeground">White</SolidColorBrush>
<SolidColorBrush x:Key="DualBadgeDefaultBackground">#FF5DC264</SolidColorBrush>
<LinearGradientBrush x:Key="DualBadgeDefaultHeaderBackground" StartPoint="0%,0%" EndPoint="0%,100%">
<GradientStop Color="#FF555B61" Offset="0" />
<GradientStop Color="#FF41464C" Offset="1" />
</LinearGradientBrush>
<LinearGradientBrush x:Key="DualBadgeDefaultBackground" StartPoint="0%,0%" EndPoint="0%,100%">
<GradientStop Color="#FF5AC262" Offset="0" />
<GradientStop Color="#FF3BB346" Offset="1" />
</LinearGradientBrush>
</ResourceDictionary>

View File

@@ -1,7 +1,14 @@
<ResourceDictionary xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<SolidColorBrush x:Key="DualBadgeDefaultIconForeground">White</SolidColorBrush>
<SolidColorBrush x:Key="DualBadgeDefaultHeaderForeground">White</SolidColorBrush>
<SolidColorBrush x:Key="DualBadgeDefaultHeaderBackground">#FF6B7075</SolidColorBrush>
<LinearGradientBrush x:Key="DualBadgeDefaultHeaderBackground" StartPoint="0%,0%" EndPoint="0%,100%">
<GradientStop Color="#FF555B61" Offset="0" />
<GradientStop Color="#FF41464C" Offset="1" />
</LinearGradientBrush>
<SolidColorBrush x:Key="DualBadgeDefaultForeground">White</SolidColorBrush>
<SolidColorBrush x:Key="DualBadgeDefaultBackground">#FF3BB346</SolidColorBrush>
<LinearGradientBrush x:Key="DualBadgeDefaultBackground" StartPoint="0%,0%" EndPoint="0%,100%">
<GradientStop Color="#FF5AC262" Offset="0" />
<GradientStop Color="#FF3BB346" Offset="1" />
</LinearGradientBrush>
</ResourceDictionary>

View File

@@ -4,7 +4,6 @@ using Avalonia.Controls.Metadata;
using Avalonia.Controls.Presenters;
using Avalonia.Controls.Primitives;
using Avalonia.Controls.Templates;
using Avalonia.Interactivity;
using Avalonia.Media;
namespace Ursa.Controls;
@@ -72,9 +71,9 @@ public class DualBadge : HeaderedContentControl
ContentProperty.Changed.AddClassHandler<DualBadge>((o, args) => o.OnContentChanged());
}
protected override void OnLoaded(RoutedEventArgs e)
protected override void OnApplyTemplate(TemplateAppliedEventArgs e)
{
base.OnLoaded(e);
base.OnApplyTemplate(e);
OnIconChanged();
OnHeaderChanged();
OnContentChanged();