Files
personal-toolbox/src/PersonalToolbox/Views/ToolEditorWindow.xaml
home-PC 3909764972 fix: 修复启动隐藏与深色主题界面问题
修复托盘退出卡死、启动隐藏闪窗和隐藏实例再次启动无法唤醒的问题。

统一深色主题资源与控件模板,补齐卡片、内置图标、右键菜单和弹窗背景样式。

验证:dotnet build PersonalToolbox.sln;dotnet run --project tests\PersonalToolbox.Tests\PersonalToolbox.Tests.csproj。
2026-05-27 17:43:22 +08:00

203 lines
9.5 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<Window x:Class="PersonalToolbox.Views.ToolEditorWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="编辑工具"
Width="560"
Height="620"
MinWidth="520"
Background="{DynamicResource AppBackgroundBrush}"
Foreground="{DynamicResource PrimaryTextBrush}"
WindowStartupLocation="CenterOwner">
<Grid Margin="18"
Background="{DynamicResource AppBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ScrollViewer VerticalScrollBarVisibility="Auto">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="112" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<TextBlock Text="类型" VerticalAlignment="Center" />
<TextBlock x:Name="TypeTextBlock"
Grid.Column="1"
MinHeight="32"
VerticalAlignment="Center"
ToolTip="工具类型由创建入口决定,用户侧只暴露系统、本地、网址和组合。" />
<TextBlock Grid.Row="1" Text="名称" VerticalAlignment="Center" />
<TextBox x:Name="NameTextBox"
Grid.Row="1"
Grid.Column="1"
Margin="0,8,0,0"
MinHeight="32"
ToolTip="卡片显示名称,建议简短清晰。" />
<TextBlock Grid.Row="2" Text="分类" VerticalAlignment="Center" />
<ComboBox x:Name="CategoryComboBox"
Grid.Row="2"
Grid.Column="1"
Margin="0,8,0,0"
MinHeight="32"
DisplayMemberPath="Name"
SelectedValuePath="Id"
ToolTip="工具只能属于一个一级分类。" />
<TextBlock Grid.Row="3" Text="说明" VerticalAlignment="Top" Margin="0,14,0,0" />
<TextBox x:Name="DescriptionTextBox"
Grid.Row="3"
Grid.Column="1"
Margin="0,8,0,0"
MinHeight="72"
TextWrapping="Wrap"
AcceptsReturn="True"
ToolTip="用于描述这个工具的用途,会显示在卡片上。" />
<TextBlock x:Name="TargetLabel"
Grid.Row="4"
Text="目标路径"
VerticalAlignment="Center" />
<Grid x:Name="TargetPanel"
Grid.Row="4"
Grid.Column="1"
Margin="0,8,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox x:Name="TargetTextBox"
MinHeight="32"
ToolTip="本地工具路径、系统工具启动目标或网址。" />
<Button Grid.Column="1"
Content="文件"
Width="64"
Margin="8,0,0,0"
ToolTip="选择本地程序、快捷方式、脚本或普通文件。"
Click="BrowseFileButton_OnClick" />
<Button Grid.Column="2"
Content="文件夹"
Width="72"
Margin="8,0,0,0"
ToolTip="选择一个文件夹作为本地工具。"
Click="BrowseFolderButton_OnClick" />
</Grid>
<TextBlock Grid.Row="5" Text="启动参数" VerticalAlignment="Center" />
<TextBox x:Name="ArgumentsTextBox"
Grid.Row="5"
Grid.Column="1"
Margin="0,8,0,0"
MinHeight="32"
ToolTip="传给可执行文件或脚本的参数,普通文件和文件夹通常不需要。" />
<TextBlock Grid.Row="6" Text="工作目录" VerticalAlignment="Center" />
<TextBox x:Name="WorkingDirectoryTextBox"
Grid.Row="6"
Grid.Column="1"
Margin="0,8,0,0"
MinHeight="32"
ToolTip="可执行文件或脚本启动时使用的工作目录,可留空。" />
<TextBlock Grid.Row="7" Text="快捷键" VerticalAlignment="Center" />
<Grid Grid.Row="7"
Grid.Column="1"
Margin="0,8,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox x:Name="HotkeyTextBox"
MinHeight="32"
ToolTip="格式示例Ctrl + Alt + T。可点击录入来捕获快捷键。" />
<Button Grid.Column="1"
Content="录入"
Width="64"
Margin="8,0,0,0"
ToolTip="打开快捷键捕获窗口。"
Click="CaptureHotkeyButton_OnClick" />
<Button Grid.Column="2"
Content="清除"
Width="64"
Margin="8,0,0,0"
ToolTip="清除当前快捷键。"
Click="ClearHotkeyButton_OnClick" />
</Grid>
<StackPanel Grid.Row="8"
Grid.Column="1"
Margin="0,12,0,0">
<CheckBox x:Name="AutoRunCheckBox"
Content="工具箱启动时自动运行"
ToolTip="开启后会出现在设置页的自动运行列表中。" />
<CheckBox x:Name="RunAsAdminCheckBox"
Content="以管理员身份运行"
Margin="0,8,0,0"
ToolTip="仅启动该工具时触发 UAC工具箱自身不提权。" />
</StackPanel>
<TextBlock Grid.Row="9" Text="图标" VerticalAlignment="Center" />
<StackPanel Grid.Row="9"
Grid.Column="1"
Orientation="Horizontal"
Margin="0,12,0,0">
<Border Width="42"
Height="30"
CornerRadius="6"
Background="{DynamicResource IconBackgroundBrush}">
<TextBlock x:Name="IconPreviewTextBlock"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="Segoe MDL2 Assets"
FontSize="18"
Foreground="{DynamicResource PrimaryBrush}" />
</Border>
<TextBlock x:Name="IconNameTextBlock"
Margin="10,0,0,0"
VerticalAlignment="Center"
Foreground="{DynamicResource SecondaryTextBrush}" />
<Button Content="选择图标"
Width="88"
Margin="12,0,0,0"
ToolTip="从内置图标库选择,或导入本地图片/ico。"
Click="ChooseIconButton_OnClick" />
</StackPanel>
</Grid>
</ScrollViewer>
<StackPanel Grid.Row="1"
Orientation="Horizontal"
HorizontalAlignment="Right"
Margin="0,14,0,0">
<Button Content="保存"
Width="88"
Margin="0,0,8,0"
IsDefault="True"
ToolTip="校验并保存工具设置。"
Click="SaveButton_OnClick" />
<Button Content="取消"
Width="88"
IsCancel="True"
ToolTip="放弃本次修改。"
Click="CancelButton_OnClick" />
</StackPanel>
</Grid>
</Window>