Files
Example/RazorEngineTest/Themes/Generic.xaml

97 lines
6.1 KiB
Plaintext
Raw Normal View History

2025-09-06 22:55:02 +08:00
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:RazorEngineTest">
<Path x:Key="Icon_Window" Height="24" Width="24" Data="M22 6v16h-20v-16h20zm2-6h-24v24h24v-24zm-12.879 14l-4.707-4.707-1.414 1.414 3.293 3.293-3.293 3.293 1.414 1.414 4.707-4.707zm7.879 3h-7v2h7v-2z"/>
<GeometryDrawing x:Key="icon" Brush="Black" Geometry="M22 6v16h-20v-16h20zm2-6h-24v24h24v-24zm-12.879 14l-4.707-4.707-1.414 1.414 3.293 3.293-3.293 3.293 1.414 1.414 4.707-4.707zm7.879 3h-7v2h7v-2z"/>
<Style TargetType="{x:Type local:MyControl}">
<Setter Property="Background" Value="Gray"/>
<Setter Property="Foreground" Value="Red"/>
<Setter Property="BorderBrush" Value="Blue"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:MyControl}">
<!--使用「状态装饰器」对象做为模版的根对象,保证当前空间具备装饰层与状态切换动画-->
<local:StateAdornerDecorator>
2025-09-06 22:55:02 +08:00
<Border Background="{TemplateBinding Background}">
<TextBlock Text="装饰器测试" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
</local:StateAdornerDecorator>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type local:StateAdornerDecorator}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type local:StateAdornerDecorator}">
<!--使用「装饰器」容器做为控件模板的根对象,保证当前控件可以为任何控件提供装饰层-->
<AdornerDecorator>
<Border BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<Border.Background>
<SolidColorBrush x:Name="BackgroundBrush" Color="White"/>
</Border.Background>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="SmartUnit">
<VisualState x:Name="Normal">
<Storyboard>
<!--状态切换动画:背景色、前景色、填充色、描边色、透明度、边框尺寸、描边宽度,边框尺寸-->
<ColorAnimation Storyboard.TargetName="BackgroundBrush"
Storyboard.TargetProperty="Color"
From="White" To="Black"
Duration="0:0:3"
AutoReverse="True"/>
</Storyboard>
</VisualState>
<VisualState x:Name="Selected">
<Storyboard>
<!--状态切换动画-->
</Storyboard>
</VisualState>
<VisualState x:Name="NormalHover">
<Storyboard>
<!--状态切换动画-->
</Storyboard>
</VisualState>
<VisualState x:Name="SelectedHover">
<Storyboard>
<!--状态切换动画-->
</Storyboard>
</VisualState>
<VisualState x:Name="NormalDragHover">
<Storyboard>
<!--状态切换动画-->
</Storyboard>
</VisualState>
<VisualState x:Name="SelectedDragHover">
<Storyboard>
<!--状态切换动画-->
</Storyboard>
</VisualState>
<VisualStateGroup.Transitions>
<VisualTransition To="Normal">
<Storyboard>
<!--状态切换动画:背景色、前景色、填充色、描边色、透明度、边框尺寸、描边宽度,边框尺寸-->
<ColorAnimation Storyboard.TargetName="BackgroundBrush"
Storyboard.TargetProperty="Color"
From="White" To="Black"
Duration="0:0:3"
AutoReverse="True"/>
</Storyboard>
</VisualTransition>
</VisualStateGroup.Transitions>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<ContentPresenter/>
</Border>
2025-09-06 22:55:02 +08:00
</AdornerDecorator>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>