improve:计时器UI
This commit is contained in:
@@ -39,7 +39,7 @@
|
|||||||
Margin="0,0,20,0"/>
|
Margin="0,0,20,0"/>
|
||||||
|
|
||||||
<!-- 冒号 -->
|
<!-- 冒号 -->
|
||||||
<TextBlock Text=":" FontSize="120" FontWeight="Bold"
|
<TextBlock x:Name="FullColon1Display" Text=":" FontSize="120" FontWeight="Bold"
|
||||||
Foreground="White"
|
Foreground="White"
|
||||||
HorizontalAlignment="Center" VerticalAlignment="Center"
|
HorizontalAlignment="Center" VerticalAlignment="Center"
|
||||||
Margin="0,0,20,0"/>
|
Margin="0,0,20,0"/>
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
Margin="0,0,20,0"/>
|
Margin="0,0,20,0"/>
|
||||||
|
|
||||||
<!-- 冒号 -->
|
<!-- 冒号 -->
|
||||||
<TextBlock Text=":" FontSize="120" FontWeight="Bold"
|
<TextBlock x:Name="FullColon2Display" Text=":" FontSize="120" FontWeight="Bold"
|
||||||
Foreground="White"
|
Foreground="White"
|
||||||
HorizontalAlignment="Center" VerticalAlignment="Center"
|
HorizontalAlignment="Center" VerticalAlignment="Center"
|
||||||
Margin="0,0,20,0"/>
|
Margin="0,0,20,0"/>
|
||||||
|
|||||||
@@ -136,6 +136,8 @@ namespace Ink_Canvas
|
|||||||
// 更新秒显示
|
// 更新秒显示
|
||||||
SetDigitDisplay("FullSecond1Display", seconds / 10, shouldShowRed);
|
SetDigitDisplay("FullSecond1Display", seconds / 10, shouldShowRed);
|
||||||
SetDigitDisplay("FullSecond2Display", seconds % 10, shouldShowRed);
|
SetDigitDisplay("FullSecond2Display", seconds % 10, shouldShowRed);
|
||||||
|
|
||||||
|
SetColonDisplay(shouldShowRed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -171,6 +173,40 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置全屏窗口冒号显示颜色
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="isRed">是否显示为红色</param>
|
||||||
|
private void SetColonDisplay(bool isRed = false)
|
||||||
|
{
|
||||||
|
var colon1 = this.FindName("FullColon1Display") as TextBlock;
|
||||||
|
var colon2 = this.FindName("FullColon2Display") as TextBlock;
|
||||||
|
|
||||||
|
if (colon1 != null)
|
||||||
|
{
|
||||||
|
if (isRed)
|
||||||
|
{
|
||||||
|
colon1.Foreground = Brushes.Red;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
colon1.Foreground = Brushes.White;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (colon2 != null)
|
||||||
|
{
|
||||||
|
if (isRed)
|
||||||
|
{
|
||||||
|
colon2.Foreground = Brushes.Red;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
colon2.Foreground = Brushes.White;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
||||||
{
|
{
|
||||||
// 点击屏幕退出全屏
|
// 点击屏幕退出全屏
|
||||||
|
|||||||
@@ -47,7 +47,7 @@
|
|||||||
Margin="0,0,12,0"/>
|
Margin="0,0,12,0"/>
|
||||||
|
|
||||||
<!-- 冒号 -->
|
<!-- 冒号 -->
|
||||||
<TextBlock Text=":" FontSize="48" FontWeight="Bold"
|
<TextBlock x:Name="MinColon1Display" Text=":" FontSize="48" FontWeight="Bold"
|
||||||
Foreground="{DynamicResource NewTimerWindowDigitForeground}"
|
Foreground="{DynamicResource NewTimerWindowDigitForeground}"
|
||||||
HorizontalAlignment="Center" VerticalAlignment="Center"
|
HorizontalAlignment="Center" VerticalAlignment="Center"
|
||||||
Margin="0,0,12,0"/>
|
Margin="0,0,12,0"/>
|
||||||
@@ -69,7 +69,7 @@
|
|||||||
Margin="0,0,12,0"/>
|
Margin="0,0,12,0"/>
|
||||||
|
|
||||||
<!-- 冒号 -->
|
<!-- 冒号 -->
|
||||||
<TextBlock Text=":" FontSize="48" FontWeight="Bold"
|
<TextBlock x:Name="MinColon2Display" Text=":" FontSize="48" FontWeight="Bold"
|
||||||
Foreground="{DynamicResource NewTimerWindowDigitForeground}"
|
Foreground="{DynamicResource NewTimerWindowDigitForeground}"
|
||||||
HorizontalAlignment="Center" VerticalAlignment="Center"
|
HorizontalAlignment="Center" VerticalAlignment="Center"
|
||||||
Margin="0,0,12,0"/>
|
Margin="0,0,12,0"/>
|
||||||
|
|||||||
@@ -140,6 +140,8 @@ namespace Ink_Canvas
|
|||||||
// 更新秒显示
|
// 更新秒显示
|
||||||
SetDigitDisplay("MinSecond1Display", seconds / 10, shouldShowRed);
|
SetDigitDisplay("MinSecond1Display", seconds / 10, shouldShowRed);
|
||||||
SetDigitDisplay("MinSecond2Display", seconds % 10, shouldShowRed);
|
SetDigitDisplay("MinSecond2Display", seconds % 10, shouldShowRed);
|
||||||
|
|
||||||
|
SetColonDisplay(shouldShowRed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,6 +186,58 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置最小化窗口冒号显示颜色
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="isRed">是否显示为红色</param>
|
||||||
|
private void SetColonDisplay(bool isRed = false)
|
||||||
|
{
|
||||||
|
var colon1 = this.FindName("MinColon1Display") as TextBlock;
|
||||||
|
var colon2 = this.FindName("MinColon2Display") as TextBlock;
|
||||||
|
|
||||||
|
if (colon1 != null)
|
||||||
|
{
|
||||||
|
if (isRed)
|
||||||
|
{
|
||||||
|
colon1.Foreground = Brushes.Red;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var defaultBrush = this.FindResource("NewTimerWindowDigitForeground") as Brush;
|
||||||
|
if (defaultBrush != null)
|
||||||
|
{
|
||||||
|
colon1.Foreground = defaultBrush;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bool isLightTheme = IsLightTheme();
|
||||||
|
colon1.Foreground = isLightTheme ? Brushes.Black : Brushes.White;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (colon2 != null)
|
||||||
|
{
|
||||||
|
if (isRed)
|
||||||
|
{
|
||||||
|
colon2.Foreground = Brushes.Red;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var defaultBrush = this.FindResource("NewTimerWindowDigitForeground") as Brush;
|
||||||
|
if (defaultBrush != null)
|
||||||
|
{
|
||||||
|
colon2.Foreground = defaultBrush;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bool isLightTheme = IsLightTheme();
|
||||||
|
colon2.Foreground = isLightTheme ? Brushes.Black : Brushes.White;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void ApplyTheme()
|
private void ApplyTheme()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using Ink_Canvas.Helpers;
|
using Ink_Canvas.Helpers;
|
||||||
using System;
|
using System;
|
||||||
|
using System.IO;
|
||||||
using System.Media;
|
using System.Media;
|
||||||
using System.Timers;
|
using System.Timers;
|
||||||
using System.Windows;
|
using System.Windows;
|
||||||
@@ -7,9 +8,23 @@ using System.Windows.Controls;
|
|||||||
using System.Windows.Input;
|
using System.Windows.Input;
|
||||||
using System.Windows.Media;
|
using System.Windows.Media;
|
||||||
using System.Windows.Shapes;
|
using System.Windows.Shapes;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace Ink_Canvas
|
namespace Ink_Canvas
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 最近计时记录数据模型
|
||||||
|
/// </summary>
|
||||||
|
public class RecentTimersData
|
||||||
|
{
|
||||||
|
public string RecentTimer1 { get; set; } = "--:--";
|
||||||
|
public string RecentTimer2 { get; set; } = "--:--";
|
||||||
|
public string RecentTimer3 { get; set; } = "--:--";
|
||||||
|
public string RecentTimer4 { get; set; } = "--:--";
|
||||||
|
public string RecentTimer5 { get; set; } = "--:--";
|
||||||
|
public string RecentTimer6 { get; set; } = "--:--";
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 新计时器UI风格的倒计时器窗口
|
/// 新计时器UI风格的倒计时器窗口
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -65,6 +80,8 @@ namespace Ink_Canvas
|
|||||||
SetDigitDisplay("Digit5Display", leftTimeSpan.Seconds / 10);
|
SetDigitDisplay("Digit5Display", leftTimeSpan.Seconds / 10);
|
||||||
SetDigitDisplay("Digit6Display", leftTimeSpan.Seconds % 10);
|
SetDigitDisplay("Digit6Display", leftTimeSpan.Seconds % 10);
|
||||||
|
|
||||||
|
SetColonDisplay(false);
|
||||||
|
|
||||||
if (leftTimeSpan.TotalSeconds <= 6 && leftTimeSpan.TotalSeconds > 0 &&
|
if (leftTimeSpan.TotalSeconds <= 6 && leftTimeSpan.TotalSeconds > 0 &&
|
||||||
MainWindow.Settings.RandSettings?.EnableProgressiveReminder == true &&
|
MainWindow.Settings.RandSettings?.EnableProgressiveReminder == true &&
|
||||||
!hasPlayedProgressiveReminder)
|
!hasPlayedProgressiveReminder)
|
||||||
@@ -86,6 +103,8 @@ namespace Ink_Canvas
|
|||||||
SetDigitDisplay("Digit4Display", 0);
|
SetDigitDisplay("Digit4Display", 0);
|
||||||
SetDigitDisplay("Digit5Display", 0);
|
SetDigitDisplay("Digit5Display", 0);
|
||||||
SetDigitDisplay("Digit6Display", 0);
|
SetDigitDisplay("Digit6Display", 0);
|
||||||
|
|
||||||
|
SetColonDisplay(false);
|
||||||
timer.Stop();
|
timer.Stop();
|
||||||
isTimerRunning = false;
|
isTimerRunning = false;
|
||||||
StartPauseIcon.Data = Geometry.Parse(PlayIconData);
|
StartPauseIcon.Data = Geometry.Parse(PlayIconData);
|
||||||
@@ -111,6 +130,8 @@ namespace Ink_Canvas
|
|||||||
SetDigitDisplay("Digit4Display", overtimeSpan.Minutes % 10, shouldShowRed);
|
SetDigitDisplay("Digit4Display", overtimeSpan.Minutes % 10, shouldShowRed);
|
||||||
SetDigitDisplay("Digit5Display", overtimeSpan.Seconds / 10, shouldShowRed);
|
SetDigitDisplay("Digit5Display", overtimeSpan.Seconds / 10, shouldShowRed);
|
||||||
SetDigitDisplay("Digit6Display", overtimeSpan.Seconds % 10, shouldShowRed);
|
SetDigitDisplay("Digit6Display", overtimeSpan.Seconds % 10, shouldShowRed);
|
||||||
|
|
||||||
|
SetColonDisplay(shouldShowRed);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -158,13 +179,9 @@ namespace Ink_Canvas
|
|||||||
private string recentTimer5 = "--:--";
|
private string recentTimer5 = "--:--";
|
||||||
private string recentTimer6 = "--:--";
|
private string recentTimer6 = "--:--";
|
||||||
|
|
||||||
// 最近计时记录的注册表键名
|
// JSON文件路径
|
||||||
private const string RecentTimer1Key = "NewTimer_RecentTimer1";
|
private static readonly string ConfigsFolder = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs");
|
||||||
private const string RecentTimer2Key = "NewTimer_RecentTimer2";
|
private static readonly string RecentTimersJsonPath = System.IO.Path.Combine(ConfigsFolder, "RecentTimers.json");
|
||||||
private const string RecentTimer3Key = "NewTimer_RecentTimer3";
|
|
||||||
private const string RecentTimer4Key = "NewTimer_RecentTimer4";
|
|
||||||
private const string RecentTimer5Key = "NewTimer_RecentTimer5";
|
|
||||||
private const string RecentTimer6Key = "NewTimer_RecentTimer6";
|
|
||||||
|
|
||||||
private void InitializeUI()
|
private void InitializeUI()
|
||||||
{
|
{
|
||||||
@@ -287,6 +304,8 @@ namespace Ink_Canvas
|
|||||||
SetDigitDisplay("Digit4Display", minute % 10);
|
SetDigitDisplay("Digit4Display", minute % 10);
|
||||||
SetDigitDisplay("Digit5Display", second / 10);
|
SetDigitDisplay("Digit5Display", second / 10);
|
||||||
SetDigitDisplay("Digit6Display", second % 10);
|
SetDigitDisplay("Digit6Display", second % 10);
|
||||||
|
|
||||||
|
SetColonDisplay(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HideTimer_Elapsed(object sender, ElapsedEventArgs e)
|
private void HideTimer_Elapsed(object sender, ElapsedEventArgs e)
|
||||||
@@ -433,7 +452,7 @@ namespace Ink_Canvas
|
|||||||
/// <param name="isRed">是否显示为红色</param>
|
/// <param name="isRed">是否显示为红色</param>
|
||||||
private void SetDigitDisplay(string pathName, int digit, bool isRed = false)
|
private void SetDigitDisplay(string pathName, int digit, bool isRed = false)
|
||||||
{
|
{
|
||||||
var path = this.FindName(pathName) as Path;
|
var path = this.FindName(pathName) as System.Windows.Shapes.Path;
|
||||||
if (path != null)
|
if (path != null)
|
||||||
{
|
{
|
||||||
string resourceKey = $"Digit{digit}";
|
string resourceKey = $"Digit{digit}";
|
||||||
@@ -462,6 +481,56 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置冒号显示颜色
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="isRed">是否显示为红色</param>
|
||||||
|
private void SetColonDisplay(bool isRed = false)
|
||||||
|
{
|
||||||
|
var colon1 = this.FindName("Colon1Display") as TextBlock;
|
||||||
|
var colon2 = this.FindName("Colon2Display") as TextBlock;
|
||||||
|
|
||||||
|
if (colon1 != null)
|
||||||
|
{
|
||||||
|
if (isRed)
|
||||||
|
{
|
||||||
|
colon1.Foreground = Brushes.Red;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var defaultBrush = this.FindResource("NewTimerWindowDigitForeground") as Brush;
|
||||||
|
if (defaultBrush != null)
|
||||||
|
{
|
||||||
|
colon1.Foreground = defaultBrush;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
colon1.Foreground = Brushes.White;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (colon2 != null)
|
||||||
|
{
|
||||||
|
if (isRed)
|
||||||
|
{
|
||||||
|
colon2.Foreground = Brushes.Red;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var defaultBrush = this.FindResource("NewTimerWindowDigitForeground") as Brush;
|
||||||
|
if (defaultBrush != null)
|
||||||
|
{
|
||||||
|
colon2.Foreground = defaultBrush;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
colon2.Foreground = Brushes.White;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 第1位数字(小时十位)
|
// 第1位数字(小时十位)
|
||||||
private void Digit1Plus_Click(object sender, RoutedEventArgs e)
|
private void Digit1Plus_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
@@ -1144,27 +1213,53 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 从注册表加载最近计时记录
|
// 从JSON文件加载最近计时记录
|
||||||
private void LoadRecentTimers()
|
private void LoadRecentTimers()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
using (var key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"Software\InkCanvas\NewTimer"))
|
// 确保Configs文件夹存在
|
||||||
|
if (!Directory.Exists(ConfigsFolder))
|
||||||
{
|
{
|
||||||
if (key != null)
|
Directory.CreateDirectory(ConfigsFolder);
|
||||||
{
|
}
|
||||||
recentTimer1 = key.GetValue(RecentTimer1Key, "--:--")?.ToString() ?? "--:--";
|
|
||||||
recentTimer2 = key.GetValue(RecentTimer2Key, "--:--")?.ToString() ?? "--:--";
|
if (!File.Exists(RecentTimersJsonPath))
|
||||||
recentTimer3 = key.GetValue(RecentTimer3Key, "--:--")?.ToString() ?? "--:--";
|
{
|
||||||
recentTimer4 = key.GetValue(RecentTimer4Key, "--:--")?.ToString() ?? "--:--";
|
recentTimer1 = "--:--";
|
||||||
recentTimer5 = key.GetValue(RecentTimer5Key, "--:--")?.ToString() ?? "--:--";
|
recentTimer2 = "--:--";
|
||||||
recentTimer6 = key.GetValue(RecentTimer6Key, "--:--")?.ToString() ?? "--:--";
|
recentTimer3 = "--:--";
|
||||||
}
|
recentTimer4 = "--:--";
|
||||||
|
recentTimer5 = "--:--";
|
||||||
|
recentTimer6 = "--:--";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 读取JSON文件
|
||||||
|
string jsonContent = File.ReadAllText(RecentTimersJsonPath);
|
||||||
|
var data = JsonConvert.DeserializeObject<RecentTimersData>(jsonContent);
|
||||||
|
|
||||||
|
if (data != null)
|
||||||
|
{
|
||||||
|
recentTimer1 = data.RecentTimer1 ?? "--:--";
|
||||||
|
recentTimer2 = data.RecentTimer2 ?? "--:--";
|
||||||
|
recentTimer3 = data.RecentTimer3 ?? "--:--";
|
||||||
|
recentTimer4 = data.RecentTimer4 ?? "--:--";
|
||||||
|
recentTimer5 = data.RecentTimer5 ?? "--:--";
|
||||||
|
recentTimer6 = data.RecentTimer6 ?? "--:--";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
recentTimer1 = "--:--";
|
||||||
|
recentTimer2 = "--:--";
|
||||||
|
recentTimer3 = "--:--";
|
||||||
|
recentTimer4 = "--:--";
|
||||||
|
recentTimer5 = "--:--";
|
||||||
|
recentTimer6 = "--:--";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
// 如果读取注册表失败,使用默认值
|
|
||||||
recentTimer1 = "--:--";
|
recentTimer1 = "--:--";
|
||||||
recentTimer2 = "--:--";
|
recentTimer2 = "--:--";
|
||||||
recentTimer3 = "--:--";
|
recentTimer3 = "--:--";
|
||||||
@@ -1174,27 +1269,34 @@ namespace Ink_Canvas
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 保存最近计时记录到注册表
|
// 保存最近计时记录到JSON文件
|
||||||
private void SaveRecentTimersToRegistry()
|
private void SaveRecentTimersToRegistry()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
using (var key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"Software\InkCanvas\NewTimer"))
|
// 确保Configs文件夹存在
|
||||||
|
if (!Directory.Exists(ConfigsFolder))
|
||||||
{
|
{
|
||||||
if (key != null)
|
Directory.CreateDirectory(ConfigsFolder);
|
||||||
{
|
|
||||||
key.SetValue(RecentTimer1Key, recentTimer1);
|
|
||||||
key.SetValue(RecentTimer2Key, recentTimer2);
|
|
||||||
key.SetValue(RecentTimer3Key, recentTimer3);
|
|
||||||
key.SetValue(RecentTimer4Key, recentTimer4);
|
|
||||||
key.SetValue(RecentTimer5Key, recentTimer5);
|
|
||||||
key.SetValue(RecentTimer6Key, recentTimer6);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 创建数据对象
|
||||||
|
var data = new RecentTimersData
|
||||||
|
{
|
||||||
|
RecentTimer1 = recentTimer1,
|
||||||
|
RecentTimer2 = recentTimer2,
|
||||||
|
RecentTimer3 = recentTimer3,
|
||||||
|
RecentTimer4 = recentTimer4,
|
||||||
|
RecentTimer5 = recentTimer5,
|
||||||
|
RecentTimer6 = recentTimer6
|
||||||
|
};
|
||||||
|
|
||||||
|
// 序列化为JSON并保存到文件
|
||||||
|
string jsonContent = JsonConvert.SerializeObject(data, Formatting.Indented);
|
||||||
|
File.WriteAllText(RecentTimersJsonPath, jsonContent);
|
||||||
}
|
}
|
||||||
catch
|
catch (Exception)
|
||||||
{
|
{
|
||||||
// 如果保存到注册表失败,静默处理
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -172,7 +172,7 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
<!-- 冒号分隔符 -->
|
<!-- 冒号分隔符 -->
|
||||||
<TextBlock Text=":" FontSize="48" FontWeight="Bold"
|
<TextBlock x:Name="Colon1Display" Text=":" FontSize="48" FontWeight="Bold"
|
||||||
HorizontalAlignment="Center" VerticalAlignment="Center"
|
HorizontalAlignment="Center" VerticalAlignment="Center"
|
||||||
Foreground="{DynamicResource NewTimerWindowDigitForeground}"
|
Foreground="{DynamicResource NewTimerWindowDigitForeground}"
|
||||||
Margin="-20,0,0,0"/>
|
Margin="-20,0,0,0"/>
|
||||||
@@ -291,7 +291,7 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
<!-- 冒号分隔符 -->
|
<!-- 冒号分隔符 -->
|
||||||
<TextBlock Text=":" FontSize="48" FontWeight="Bold"
|
<TextBlock x:Name="Colon2Display" Text=":" FontSize="48" FontWeight="Bold"
|
||||||
HorizontalAlignment="Center" VerticalAlignment="Center"
|
HorizontalAlignment="Center" VerticalAlignment="Center"
|
||||||
Foreground="{DynamicResource NewTimerWindowDigitForeground}"
|
Foreground="{DynamicResource NewTimerWindowDigitForeground}"
|
||||||
Margin="-20,0,0,0"/>
|
Margin="-20,0,0,0"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user