Phase 5: 系统托盘与开机自启
- 系统托盘: NotifyIcon 常驻, 程序化生成 32x32 图标, 左键切换显示/隐藏, 右键菜单(显示主界面/设置/彻底退出) - 窗口关闭拦截: OnClosing 取消关闭改为 Hide(), 退出菜单执行真实 Shutdown() - 开机自启: AutoStartHelper 写入/删除 HKCU\...\Run 注册表项, UI 开关按钮显示 ✔/⊗ 状态 - 静默启动: -autostart 参数下 mainWindow.Hide() 直接最小化到托盘 - 类型冲突解决: ImplicitUsings=disable + GlobalUsings.cs 统一全局 using, 消除 WPF/WinForms 共享类型冲突 - 测试: 75 tests total (含 AutoStartHelper 2 tests)
This commit is contained in:
@@ -81,6 +81,7 @@
|
||||
<RowDefinition Height="50"/>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="42"/>
|
||||
<RowDefinition Height="42"/>
|
||||
<RowDefinition Height="45"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
@@ -160,6 +161,28 @@
|
||||
</Button>
|
||||
|
||||
<Button Grid.Row="3"
|
||||
Command="{Binding ToggleAutoStartCommand}"
|
||||
Background="Transparent"
|
||||
BorderThickness="1"
|
||||
BorderBrush="{DynamicResource Theme.CardBorder}"
|
||||
Foreground="{DynamicResource Theme.Foreground}"
|
||||
FontSize="12"
|
||||
Height="35" Margin="10,0,10,3"
|
||||
Cursor="Hand">
|
||||
<Button.Resources>
|
||||
<Style TargetType="TextBlock">
|
||||
<Setter Property="Text" Value="⊗ 开机自启: 关"/>
|
||||
<Style.Triggers>
|
||||
<DataTrigger Binding="{Binding IsAutoStart}" Value="True">
|
||||
<Setter Property="Text" Value="✔ 开机自启: 开"/>
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
</Style>
|
||||
</Button.Resources>
|
||||
<TextBlock VerticalAlignment="Center" TextAlignment="Center"/>
|
||||
</Button>
|
||||
|
||||
<Button Grid.Row="4"
|
||||
Command="{Binding ToggleThemeCommand}"
|
||||
Background="Transparent"
|
||||
BorderThickness="1"
|
||||
|
||||
Reference in New Issue
Block a user