feat: add resources.

This commit is contained in:
rabbitism
2023-06-23 23:51:44 +08:00
parent 009498f590
commit a61a7f9468
8 changed files with 131 additions and 17 deletions

View File

@@ -6,10 +6,11 @@
<!-- Add Resources Here -->
<converters:BrushToColorConverter x:Key="BrushToColorConverter" />
<ControlTheme x:Key="{x:Type u:LoadingIcon}" TargetType="u:LoadingIcon">
<Setter Property="Foreground" Value="{DynamicResource SemiBlue6}" />
<Setter Property="Foreground" Value="{DynamicResource LoadingIconForeground}" />
<Setter Property="Template">
<ControlTemplate TargetType="u:LoadingIcon">
<Arc
Name="PART_Arc"
Width="20"
Height="20"
StartAngle="0"
@@ -21,7 +22,8 @@
<ConicGradientBrush Angle="70">
<GradientStops>
<GradientStop Offset="0" Color="{Binding Foreground, Converter={StaticResource BrushToColorConverter}, RelativeSource={RelativeSource TemplatedParent}}" />
<GradientStop Offset="0.8" Color="Transparent" />
<GradientStop Offset="0.2" Color="{Binding Foreground, Converter={StaticResource BrushToColorConverter}, RelativeSource={RelativeSource TemplatedParent}}" />
<GradientStop Offset="0.6" Color="Transparent" />
</GradientStops>
</ConicGradientBrush>
</Arc.Stroke>
@@ -42,12 +44,20 @@
</Arc>
</ControlTemplate>
</Setter>
<Style Selector="^.Small /template/ Arc#PART_Arc">
<Setter Property="Arc.Width" Value="14" />
<Setter Property="Arc.Height" Value="14" />
<Setter Property="Arc.StrokeThickness" Value="2" />
</Style>
<Style Selector="^.Large /template/ Arc#PART_Arc">
<Setter Property="Arc.Width" Value="32" />
<Setter Property="Arc.Height" Value="32" />
<Setter Property="Arc.StrokeThickness" Value="5" />
</Style>
</ControlTheme>
<ControlTheme x:Key="{x:Type u:Loading}" TargetType="u:Loading">
<Setter Property="Background">
<SolidColorBrush Opacity="0.13" Color="#2E3238" />
</Setter>
<Setter Property="Background" Value="{DynamicResource LoadingMaskBackground}" />
<Setter Property="Indicator">
<Template>
<u:LoadingIcon />
@@ -69,10 +79,42 @@
Name="PART_ContentPresenter"
Grid.Row="1"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}" />
ContentTemplate="{TemplateBinding ContentTemplate}"
IsVisible="{TemplateBinding Content,
Converter={x:Static ObjectConverters.IsNotNull}}" />
</Grid>
</Panel>
</ControlTemplate>
</Setter>
</ControlTheme>
<ControlTheme x:Key="{x:Type u:LoadingContainer}" TargetType="u:LoadingContainer">
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Indicator">
<Template>
<u:LoadingIcon />
</Template>
</Setter>
<Setter Property="Template">
<ControlTemplate TargetType="u:LoadingContainer">
<Panel>
<ContentPresenter
Name="PART_ContentPresenter"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}" />
<u:Loading
Content="{TemplateBinding LoadingMessage}"
ContentTemplate="{TemplateBinding LoadingMessageTemplate}"
Indicator="{TemplateBinding Indicator}"
IsLoading="{TemplateBinding IsLoading}" />
</Panel>
</ControlTemplate>
</Setter>
<Style Selector="^:loading /template/ ContentPresenter#PART_ContentPresenter">
<Setter Property="Effect" Value="blur(5)" />
</Style>
</ControlTheme>
</ResourceDictionary>