improve:计时器UI
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
using System;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Controls.Primitives;
|
||||||
|
|
||||||
|
namespace Ink_Canvas.Windows.Controls
|
||||||
|
{
|
||||||
|
public class WinUI3CloseButton : ButtonBase
|
||||||
|
{
|
||||||
|
static WinUI3CloseButton()
|
||||||
|
{
|
||||||
|
DefaultStyleKeyProperty.OverrideMetadata(typeof(WinUI3CloseButton), new FrameworkPropertyMetadata(typeof(WinUI3CloseButton)));
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsActive
|
||||||
|
{
|
||||||
|
get => (bool)GetValue(IsActiveProperty);
|
||||||
|
set => SetValue(IsActiveProperty, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static readonly DependencyProperty IsActiveProperty = DependencyProperty.Register(
|
||||||
|
nameof(IsActive),
|
||||||
|
typeof(bool),
|
||||||
|
typeof(WinUI3CloseButton),
|
||||||
|
new PropertyMetadata(true)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
<ResourceDictionary
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:local="clr-namespace:Ink_Canvas.Windows.Controls"
|
||||||
|
xmlns:system="clr-namespace:System;assembly=netstandard">
|
||||||
|
|
||||||
|
<Style TargetType="{x:Type local:WinUI3CloseButton}">
|
||||||
|
<Setter Property="Width" Value="46" />
|
||||||
|
<Setter Property="Height" Value="32" />
|
||||||
|
<Setter Property="Background" Value="Transparent" />
|
||||||
|
<Setter Property="HorizontalContentAlignment" Value="Center" />
|
||||||
|
<Setter Property="VerticalContentAlignment" Value="Center" />
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="{x:Type local:WinUI3CloseButton}">
|
||||||
|
<Border
|
||||||
|
x:Name="ButtonBorder"
|
||||||
|
Background="{TemplateBinding Background}"
|
||||||
|
BorderBrush="{TemplateBinding BorderBrush}"
|
||||||
|
BorderThickness="{TemplateBinding BorderThickness}"
|
||||||
|
CornerRadius="0,15,0,0">
|
||||||
|
<ContentPresenter
|
||||||
|
x:Name="PART_ContentPresenter"
|
||||||
|
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||||
|
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
|
||||||
|
Content="{TemplateBinding Content}"
|
||||||
|
ContentTemplate="{TemplateBinding ContentTemplate}"
|
||||||
|
ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}" />
|
||||||
|
</Border>
|
||||||
|
<ControlTemplate.Triggers>
|
||||||
|
<Trigger Property="IsActive" Value="False">
|
||||||
|
<Setter TargetName="PART_ContentPresenter" Property="Opacity" Value="0.382" />
|
||||||
|
</Trigger>
|
||||||
|
<Trigger Property="IsEnabled" Value="False">
|
||||||
|
<Setter Property="Background" Value="Transparent" />
|
||||||
|
<Setter Property="Foreground" Value="#808080" />
|
||||||
|
</Trigger>
|
||||||
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
|
<Setter TargetName="ButtonBorder" Property="Background" Value="#E81123" />
|
||||||
|
<Setter Property="Foreground" Value="White" />
|
||||||
|
</Trigger>
|
||||||
|
<Trigger Property="IsPressed" Value="True">
|
||||||
|
<Setter TargetName="ButtonBorder" Property="Background" Value="#F1707A" />
|
||||||
|
<Setter Property="Foreground" Value="White" />
|
||||||
|
</Trigger>
|
||||||
|
</ControlTemplate.Triggers>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<!-- 关闭按钮图标模板 -->
|
||||||
|
<DataTemplate x:Key="CloseButtonIconTemplate" DataType="system:String">
|
||||||
|
<TextBlock
|
||||||
|
FontFamily="Segoe MDL2 Assets"
|
||||||
|
FontSize="10"
|
||||||
|
Text="{Binding}"
|
||||||
|
HorizontalAlignment="Center"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Foreground="{Binding RelativeSource={RelativeSource AncestorType=Button}, Path=Foreground}" />
|
||||||
|
</DataTemplate>
|
||||||
|
|
||||||
|
</ResourceDictionary>
|
||||||
@@ -5,49 +5,26 @@
|
|||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:local="clr-namespace:Ink_Canvas"
|
xmlns:local="clr-namespace:Ink_Canvas"
|
||||||
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
|
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
|
||||||
|
xmlns:controls="clr-namespace:Ink_Canvas.Windows.Controls"
|
||||||
Topmost="True" Background="Transparent"
|
Topmost="True" Background="Transparent"
|
||||||
mc:Ignorable="d" WindowStyle="None" AllowsTransparency="True"
|
mc:Ignorable="d" WindowStyle="None" AllowsTransparency="True"
|
||||||
Loaded="Window_Loaded" Closing="Window_Closing" WindowStartupLocation="CenterScreen"
|
Loaded="Window_Loaded" Closing="Window_Closing" WindowStartupLocation="CenterScreen"
|
||||||
Title="Ink Canvas 画板 - 计时器" Height="450" Width="900">
|
Title="Ink Canvas 画板 - 计时器" Height="450" Width="900">
|
||||||
|
|
||||||
|
<Window.Resources>
|
||||||
|
<ResourceDictionary>
|
||||||
|
<ResourceDictionary.MergedDictionaries>
|
||||||
|
<ResourceDictionary Source="Controls/WinUI3CloseButton.xaml" />
|
||||||
|
</ResourceDictionary.MergedDictionaries>
|
||||||
|
</ResourceDictionary>
|
||||||
|
</Window.Resources>
|
||||||
|
|
||||||
<Border Background="{DynamicResource SeewoTimerWindowBackground}" CornerRadius="15" BorderThickness="1" BorderBrush="{DynamicResource SeewoTimerWindowBorderBrush}" Margin="10" x:Name="MainBorder" MouseLeftButtonDown="WindowDragMove">
|
<Border Background="{DynamicResource SeewoTimerWindowBackground}" CornerRadius="15" BorderThickness="1" BorderBrush="{DynamicResource SeewoTimerWindowBorderBrush}" Margin="10" x:Name="MainBorder" MouseLeftButtonDown="WindowDragMove">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Button x:Name="CloseButton"
|
<controls:WinUI3CloseButton x:Name="CloseButton"
|
||||||
HorizontalAlignment="Right" VerticalAlignment="Top"
|
HorizontalAlignment="Right" VerticalAlignment="Top"
|
||||||
Width="46" Height="32" Margin="0,8,8,0"
|
Margin="0,0,0,0" Cursor="Hand" Click="CloseButton_Click"
|
||||||
Background="Transparent" BorderThickness="0"
|
Content="" ContentTemplate="{StaticResource CloseButtonIconTemplate}"/>
|
||||||
Cursor="Hand" Click="CloseButton_Click">
|
|
||||||
<Button.Style>
|
|
||||||
<Style TargetType="Button">
|
|
||||||
<Setter Property="Template">
|
|
||||||
<Setter.Value>
|
|
||||||
<ControlTemplate TargetType="Button">
|
|
||||||
<Border x:Name="ButtonBorder"
|
|
||||||
Background="{TemplateBinding Background}"
|
|
||||||
CornerRadius="4"
|
|
||||||
BorderThickness="{TemplateBinding BorderThickness}"
|
|
||||||
BorderBrush="{TemplateBinding BorderBrush}">
|
|
||||||
<ContentPresenter x:Name="contentPresenter"
|
|
||||||
HorizontalAlignment="Center"
|
|
||||||
VerticalAlignment="Center"/>
|
|
||||||
</Border>
|
|
||||||
<ControlTemplate.Triggers>
|
|
||||||
<Trigger Property="IsMouseOver" Value="True">
|
|
||||||
<Setter TargetName="ButtonBorder" Property="Background" Value="#E81123"/>
|
|
||||||
<Setter TargetName="contentPresenter" Property="TextElement.Foreground" Value="White"/>
|
|
||||||
</Trigger>
|
|
||||||
<Trigger Property="IsPressed" Value="True">
|
|
||||||
<Setter TargetName="ButtonBorder" Property="Background" Value="#F1707A"/>
|
|
||||||
<Setter TargetName="contentPresenter" Property="TextElement.Foreground" Value="White"/>
|
|
||||||
</Trigger>
|
|
||||||
</ControlTemplate.Triggers>
|
|
||||||
</ControlTemplate>
|
|
||||||
</Setter.Value>
|
|
||||||
</Setter>
|
|
||||||
</Style>
|
|
||||||
</Button.Style>
|
|
||||||
<TextBlock x:Name="CloseButtonText" Text="✕" FontSize="10" FontWeight="Bold" Foreground="{DynamicResource SeewoTimerWindowButtonForeground}"/>
|
|
||||||
</Button>
|
|
||||||
<!-- 主要内容区域 -->
|
<!-- 主要内容区域 -->
|
||||||
<Grid>
|
<Grid>
|
||||||
<!-- 使用Viewbox自动缩放内容 -->
|
<!-- 使用Viewbox自动缩放内容 -->
|
||||||
|
|||||||
Reference in New Issue
Block a user