Files
community/Ink Canvas/Windows/CountdownTimerWindow.xaml
T

250 lines
20 KiB
XML
Raw Normal View History

<Window x:Class="Ink_Canvas.CountdownTimerWindow"
2025-05-25 09:29:48 +08:00
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Ink_Canvas"
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
xmlns:ikw="http://schemas.inkore.net/lib/ui/wpf"
2025-05-25 09:29:48 +08:00
xmlns:processbars="clr-namespace:Ink_Canvas.ProcessBars"
ui:ThemeManager.RequestedTheme="Light" Topmost="True" Background="Transparent"
mc:Ignorable="d" WindowStyle="None" AllowsTransparency="True"
2025-11-15 21:14:08 +08:00
ResizeMode="CanMinimize"
2025-05-25 09:29:48 +08:00
Loaded="Window_Loaded" Closing="Window_Closing" WindowStartupLocation="CenterScreen"
Title="Ink Canvas 画板 - 计时器" Height="700" Width="1100">
2025-10-04 21:55:55 +08:00
<Border Background="{DynamicResource TimerWindowBackground}" CornerRadius="10" BorderThickness="1" BorderBrush="{DynamicResource TimerWindowBorderBrush}" Margin="60">
2025-05-25 09:29:48 +08:00
<Grid>
2025-10-04 22:04:24 +08:00
<TextBlock x:Name="TbCurrentTime" MouseDown="BtnMinimal_OnMouseUp" Visibility="Collapsed" FontSize="56" FontWeight="Black" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="{DynamicResource TimerWindowTextForeground}" />
2025-05-25 09:29:48 +08:00
<Border MouseMove="WindowDragMove" Visibility="{Binding ElementName=TbCurrentTime, Path=Visibility}" Width="64" Height="15" CornerRadius="8" Background="Gray" Margin="0,0,0,5" HorizontalAlignment="Center" VerticalAlignment="Bottom" />
<Viewbox x:Name="BigViewController" Margin="20,20,20,20">
<Grid Height="180" Width="200">
<processbars:CycleProcessBar x:Name="ProcessBarTime" CurrentValue="0" Width="150" VerticalAlignment="Top"/>
<ikw:SimpleStackPanel MouseMove="WindowDragMove" Orientation="Horizontal" Height="28.5" Margin="0,0,0,25"
2025-05-25 09:29:48 +08:00
VerticalAlignment="Center"
HorizontalAlignment="Center">
<TextBlock Name="TextBlockHour" FontFamily="Segeo UI"
Margin="0,0,0,0" Visibility="Collapsed"
2025-10-04 21:55:55 +08:00
Foreground="{DynamicResource TimerWindowTextForeground}"
2025-05-25 09:29:48 +08:00
Text="00" FontSize="26"/>
2025-09-06 14:24:18 +08:00
<ItemsControl Name="TextControlHour" ItemsSource="{Binding ElementName=TextBlockHour, Path=Text}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Width="14">
<TextBlock Text="{Binding}" HorizontalAlignment="Center" FontWeight="SemiBold"
Foreground="{Binding ElementName=TextBlockHour, Path=Foreground}"
FontFamily="{Binding ElementName=TextBlockHour, Path=FontFamily}"
FontSize="{Binding ElementName=TextBlockHour, Path=FontSize}"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
2025-05-25 09:29:48 +08:00
<Grid Name="GridAdjustHour" Visibility="Visible" Margin="-29,-30,0,-30" Width="29">
<ikw:SimpleStackPanel Spacing="2">
2025-05-25 09:29:48 +08:00
<Button Height="13" Width="{Binding ElementName=GridAdjustHour, Path=ActualWidth}" Click="Button_Click_1">
2025-10-01 00:54:03 +08:00
<TextBlock x:Name="HourPlus5Text" Text="∧∧" Margin="-10" FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center"/>
2025-05-25 09:29:48 +08:00
</Button>
<Button Height="13" Width="{Binding ElementName=GridAdjustHour, Path=ActualWidth}" Click="Button_Click">
2025-10-01 00:54:03 +08:00
<TextBlock x:Name="HourPlus1Text" Text="∧" Margin="-10" FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center"/>
2025-05-25 09:29:48 +08:00
</Button>
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Spacing="2" VerticalAlignment="Bottom">
2025-05-25 09:29:48 +08:00
<Button Height="13" Width="{Binding ElementName=GridAdjustHour, Path=ActualWidth}" Click="Button_Click_2">
2025-10-01 00:54:03 +08:00
<TextBlock x:Name="HourMinus1Text" Text="" Margin="-10" FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center"/>
2025-05-25 09:29:48 +08:00
</Button>
<Button Height="13" Width="{Binding ElementName=GridAdjustHour, Path=ActualWidth}" Click="Button_Click_3">
2025-10-01 00:54:03 +08:00
<TextBlock x:Name="HourMinus5Text" Text="∨∨" Margin="-10" FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center"/>
2025-05-25 09:29:48 +08:00
</Button>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Grid>
<TextBlock Text=":"
FontFamily="{Binding ElementName=TextBlockHour, Path=FontFamily}"
Margin="0,-2.5,0,0"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Foreground="{Binding ElementName=TextBlockHour, Path=Foreground}"
FontSize="{Binding ElementName=TextBlockHour, Path=FontSize}"
FontWeight="DemiBold"/>
<TextBlock Name="TextBlockMinute" FontFamily="{Binding ElementName=TextBlockHour, Path=FontFamily}"
Margin="0,0,0,0" Visibility="Collapsed"
2025-10-04 21:55:55 +08:00
Foreground="{DynamicResource TimerWindowTextForeground}"
2025-05-25 09:29:48 +08:00
Text="01" FontSize="26"/>
2025-09-06 14:24:18 +08:00
<ItemsControl Name="TextControlMinute" ItemsSource="{Binding ElementName=TextBlockMinute, Path=Text}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Width="14">
<TextBlock Text="{Binding}" HorizontalAlignment="Center" FontWeight="SemiBold"
Foreground="{Binding ElementName=TextBlockMinute, Path=Foreground}"
FontFamily="{Binding ElementName=TextBlockMinute, Path=FontFamily}"
FontSize="{Binding ElementName=TextBlockMinute, Path=FontSize}"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
2025-05-25 09:29:48 +08:00
<Grid Visibility="{Binding ElementName=GridAdjustHour, Path=Visibility}" Margin="-29,-30,0,-30" Width="29">
<ikw:SimpleStackPanel Spacing="2">
2025-05-25 09:29:48 +08:00
<Button Height="13" Width="{Binding ElementName=GridAdjustHour, Path=ActualWidth}" Click="Button_Click_5">
2025-10-01 00:54:03 +08:00
<TextBlock x:Name="MinutePlus5Text" Text="∧∧" Margin="-10" FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center"/>
2025-05-25 09:29:48 +08:00
</Button>
<Button Height="13" Width="{Binding ElementName=GridAdjustHour, Path=ActualWidth}" Click="Button_Click_4">
2025-10-01 00:54:03 +08:00
<TextBlock x:Name="MinutePlus1Text" Text="∧" Margin="-10" FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center"/>
2025-05-25 09:29:48 +08:00
</Button>
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Spacing="2" VerticalAlignment="Bottom">
2025-05-25 09:29:48 +08:00
<Button Height="13" Width="{Binding ElementName=GridAdjustHour, Path=ActualWidth}" Click="Button_Click_6">
2025-10-01 00:54:03 +08:00
<TextBlock x:Name="MinuteMinus1Text" Text="" Margin="-10" FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center"/>
2025-05-25 09:29:48 +08:00
</Button>
<Button Height="13" Width="{Binding ElementName=GridAdjustHour, Path=ActualWidth}" Click="Button_Click_7">
2025-10-01 00:54:03 +08:00
<TextBlock x:Name="MinuteMinus5Text" Text="∨∨" Margin="-10" FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center"/>
2025-05-25 09:29:48 +08:00
</Button>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
<Border x:Name="BtnTimeSetOkay" MouseUp="Grid_MouseUp"
Background="#0066BF"
Height="20" Width="20"
CornerRadius="100"
VerticalAlignment="Bottom" Margin="0,0,0,-35">
<Border.Effect>
<DropShadowEffect Direction="0" ShadowDepth="0" Opacity="0.1" BlurRadius="3"/>
</Border.Effect>
<Viewbox Margin="5.5">
<ui:SymbolIcon Symbol="Save" Foreground="White"/>
2025-05-25 09:29:48 +08:00
</Viewbox>
</Border>
</Grid>
<TextBlock Text=":"
FontFamily="{Binding ElementName=TextBlockHour, Path=FontFamily}"
Margin="0,-2.5,0,0"
HorizontalAlignment="Center"
VerticalAlignment="Top"
Foreground="{Binding ElementName=TextBlockHour, Path=Foreground}"
FontSize="{Binding ElementName=TextBlockHour, Path=FontSize}"
FontWeight="DemiBold"/>
<TextBlock Name="TextBlockSecond" FontFamily="{Binding ElementName=TextBlockHour, Path=FontFamily}"
Margin="0,0,0,0" Visibility="Collapsed"
2025-10-04 21:55:55 +08:00
Foreground="{DynamicResource TimerWindowTextForeground}"
2025-05-25 09:29:48 +08:00
Text="00" FontSize="26"/>
2025-09-06 14:24:18 +08:00
<ItemsControl Name="TextControlSecond" ItemsSource="{Binding ElementName=TextBlockSecond, Path=Text}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid Width="14">
<TextBlock Text="{Binding}" HorizontalAlignment="Center" FontWeight="SemiBold"
Foreground="{Binding ElementName=TextBlockSecond, Path=Foreground}"
FontFamily="{Binding ElementName=TextBlockSecond, Path=FontFamily}"
FontSize="{Binding ElementName=TextBlockSecond, Path=FontSize}"/>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
2025-05-25 09:29:48 +08:00
<Grid Margin="-96.8,0,0,0" Width="96.8" Background="Transparent" MouseUp="Grid_MouseUp"/>
<Grid Visibility="{Binding ElementName=GridAdjustHour, Path=Visibility}" Margin="-29,-30,0,-30" Width="29">
<ikw:SimpleStackPanel Spacing="2">
2025-05-25 09:29:48 +08:00
<Button Height="13" Width="{Binding ElementName=GridAdjustHour, Path=ActualWidth}" Click="Button_Click_8">
2025-10-01 00:54:03 +08:00
<TextBlock x:Name="SecondPlus5Text" Text="∧∧" Margin="-10" FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center"/>
2025-05-25 09:29:48 +08:00
</Button>
<Button Height="13" Width="{Binding ElementName=GridAdjustHour, Path=ActualWidth}" Click="Button_Click_9">
2025-10-01 00:54:03 +08:00
<TextBlock x:Name="SecondPlus1Text" Text="∧" Margin="-10" FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center"/>
2025-05-25 09:29:48 +08:00
</Button>
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Spacing="2" VerticalAlignment="Bottom">
2025-05-25 09:29:48 +08:00
<Button Height="13" Width="{Binding ElementName=GridAdjustHour, Path=ActualWidth}" Click="Button_Click_10">
2025-10-01 00:54:03 +08:00
<TextBlock x:Name="SecondMinus1Text" Text="" Margin="-10" FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center"/>
2025-05-25 09:29:48 +08:00
</Button>
<Button Height="13" Width="{Binding ElementName=GridAdjustHour, Path=ActualWidth}" Click="Button_Click_11">
2025-10-01 00:54:03 +08:00
<TextBlock x:Name="SecondMinus5Text" Text="∨∨" Margin="-10" FontSize="8" HorizontalAlignment="Center" VerticalAlignment="Center"/>
2025-05-25 09:29:48 +08:00
</Button>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Grid>
</ikw:SimpleStackPanel>
2025-10-04 21:55:55 +08:00
<Border x:Name="BorderStopTime" Background="{DynamicResource TimerWindowStopTimeBackground}" Margin="0,23,0,0"
2025-05-25 09:29:48 +08:00
Height="18" CornerRadius="9"
VerticalAlignment="Center" HorizontalAlignment="Center">
<ikw:SimpleStackPanel Margin="6,0" Spacing="0" Orientation="Horizontal" HorizontalAlignment="Center">
2025-10-04 22:04:24 +08:00
<Image Margin="0,0,2,0" Source="{DynamicResource TimerWindowClockIcon}" RenderOptions.BitmapScalingMode="HighQuality" Height="10" Width="10"/>
2025-10-04 21:55:55 +08:00
<TextBlock Name="TextBlockStopTime" Text="12:30 PM" FontSize="9" VerticalAlignment="Center" Foreground="{DynamicResource TimerWindowStopTimeForeground}"/>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
<ikw:SimpleStackPanel Visibility="{Binding ElementName=ProcessBarTime, Path=Visibility}" Spacing="10" Orientation="Horizontal" Height="30" HorizontalAlignment="Center" VerticalAlignment="Bottom">
2025-05-25 09:29:48 +08:00
<Grid>
2025-10-04 21:55:55 +08:00
<Border x:Name="BtnStart" MouseUp="BtnStart_MouseUp" Background="{DynamicResource TimerWindowPrimaryButtonBackground}" Height="20" Width="20" CornerRadius="100">
2025-05-25 09:29:48 +08:00
<Viewbox Margin="5">
<ui:SymbolIcon Name="SymbolIconStart" Symbol="Play" Foreground="White"/>
2025-05-25 09:29:48 +08:00
</Viewbox>
</Border>
<Border x:Name="BtnStartCover" Visibility="Collapsed" Background="#BFBFBF" Height="20" Width="20" CornerRadius="100">
<Viewbox Margin="5">
<ui:SymbolIcon Symbol="{Binding ElementName=SymbolIconStart, Path=Symbol}" Foreground="White"/>
2025-05-25 09:29:48 +08:00
</Viewbox>
</Border>
</Grid>
<Grid>
2025-10-04 21:55:55 +08:00
<Border x:Name="BtnReset" MouseUp="BtnReset_MouseUp" Background="{DynamicResource TimerWindowButtonBackground}" Height="20" Width="20" CornerRadius="100">
2025-05-25 09:29:48 +08:00
<Border.Effect>
<DropShadowEffect Direction="0" ShadowDepth="0" Opacity="0.15" BlurRadius="3"/>
</Border.Effect>
<Viewbox Margin="5.5">
2025-10-04 21:55:55 +08:00
<ui:SymbolIcon Symbol="Refresh" Foreground="{DynamicResource TimerWindowButtonForeground}"/>
2025-05-25 09:29:48 +08:00
</Viewbox>
</Border>
<Border x:Name="BtnResetCover" Background="#F3F5F9" Height="20" Width="20" CornerRadius="100">
<Viewbox Margin="5.5">
<ui:SymbolIcon Symbol="Refresh" Foreground="#9D9D9E"/>
2025-05-25 09:29:48 +08:00
</Viewbox>
</Border>
</Grid>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Grid>
</Viewbox>
<Viewbox Visibility="{Binding ElementName=BigViewController, Path=Visibility}" Margin="20,20,20,20" HorizontalAlignment="Right">
<ikw:SimpleStackPanel Height="180" Orientation="Horizontal">
2025-05-25 09:29:48 +08:00
<Border x:Name="BtnMinimal" Visibility="{Binding ElementName=BorderStopTime, Path=Visibility}" MouseUp="BtnMinimal_OnMouseUp" HorizontalAlignment="Right" VerticalAlignment="Bottom"
Margin="5"
2025-10-04 21:55:55 +08:00
Background="{DynamicResource TimerWindowButtonBackground}" Height="20" Width="20" CornerRadius="100">
2025-05-25 09:29:48 +08:00
<Border.Effect>
<DropShadowEffect Direction="0" ShadowDepth="0" Opacity="0.1" BlurRadius="3"/>
</Border.Effect>
<Viewbox Margin="5.5">
2025-10-04 21:55:55 +08:00
<ui:SymbolIcon Name="SymbolIconMinimal" Symbol="HideBcc" Foreground="{DynamicResource TimerWindowButtonForeground}"/>
2025-05-25 09:29:48 +08:00
</Viewbox>
</Border>
<Border x:Name="BtnFullscreen" MouseUp="BtnFullscreen_MouseUp" HorizontalAlignment="Right" VerticalAlignment="Bottom"
Margin="5"
2025-10-04 21:55:55 +08:00
Background="{DynamicResource TimerWindowButtonBackground}" Height="20" Width="20" CornerRadius="100">
2025-05-25 09:29:48 +08:00
<Border.Effect>
<DropShadowEffect Direction="0" ShadowDepth="0" Opacity="0.1" BlurRadius="3"/>
</Border.Effect>
<Viewbox Margin="5.5">
2025-10-04 21:55:55 +08:00
<ui:SymbolIcon Name="SymbolIconFullscreen" Symbol="FullScreen" Foreground="{DynamicResource TimerWindowButtonForeground}"/>
2025-05-25 09:29:48 +08:00
</Viewbox>
</Border>
<Border x:Name="BtnClose" MouseUp="BtnClose_MouseUp" HorizontalAlignment="Right" VerticalAlignment="Bottom"
Margin="5"
Background="#E32A34" Height="20" Width="20" CornerRadius="100">
<Border.Effect>
<DropShadowEffect Direction="0" ShadowDepth="0" Opacity="0.1" BlurRadius="3"/>
</Border.Effect>
<Viewbox Margin="5.5">
<ui:SymbolIcon Symbol="Clear" Foreground="White"/>
2025-05-25 09:29:48 +08:00
</Viewbox>
</Border>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Viewbox>
<MediaElement Visibility="Collapsed" HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100"/>
</Grid>
</Border>
</Window>
2025-09-20 14:49:40 +08:00