style(SettingsViews): 为XAML文件添加设计时属性和修复格式

为多个设置页面添加d:IsExpanded和d:Visibility设计时属性
修复AboutPage.xaml的BOM头问题
统一SettingsExpander的格式
This commit is contained in:
PrefacedCorg
2026-04-24 07:39:31 +08:00
parent 48b0e09278
commit 42854ff924
6 changed files with 34 additions and 14 deletions
+2 -1
View File
@@ -429,4 +429,5 @@ FodyWeavers.xsd
# Telemetry DSN configuration file (contains sensitive information)
telemetry_dsn.txt
**/telemetry_dsn.txt
**/telemetry_dsn.txt
.trae/skills/migrate-toggle-switch/SKILL.md
@@ -1,4 +1,4 @@
<ui:Page x:Class="Ink_Canvas.Windows.SettingsViews.Pages.AboutPage"
<ui:Page x:Class="Ink_Canvas.Windows.SettingsViews.Pages.AboutPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
@@ -64,7 +64,8 @@
<TextBlock x:Name="AppVersionTextBlock" Text="1.X.X.X" FontWeight="Bold" VerticalAlignment="Center" />
</ui:SettingsCard>
<ui:SettingsExpander Header="{i18n:I18n Key=About_DeviceInfo}">
<ui:SettingsExpander Header="{i18n:I18n Key=About_DeviceInfo}"
d:IsExpanded="True">
<ui:SettingsExpander.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Devices}" />
</ui:SettingsExpander.HeaderIcon>
@@ -91,7 +92,8 @@
</ui:SettingsExpander.Items>
</ui:SettingsExpander>
<ui:SettingsExpander Header="{i18n:I18n Key=About_PrivacyAndTelemetry}">
<ui:SettingsExpander Header="{i18n:I18n Key=About_PrivacyAndTelemetry}"
d:IsExpanded="True">
<ui:SettingsExpander.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Shield}" />
</ui:SettingsExpander.HeaderIcon>
@@ -144,7 +144,8 @@
Toggled="ToggleSwitchEnableInkFade_Toggled" />
<ui:SettingsCard Header="{i18n:I18n Key=Canvas_InkFadeTime}"
Visibility="{Binding IsOn, ElementName=CardEnableInkFade, Converter={StaticResource BooleanToVisibilityConverter}}">
Visibility="{Binding IsOn, ElementName=CardEnableInkFade, Converter={StaticResource BooleanToVisibilityConverter}}"
d:Visibility="Visible">
<ui:SettingsCard.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Stopwatch}" />
</ui:SettingsCard.HeaderIcon>
@@ -172,7 +173,9 @@
Toggled="ToggleSwitchBrushAutoRestore_Toggled" />
<ui:SettingsExpander Header="{i18n:I18n Key=Canvas_BrushAutoRestore}"
Visibility="{Binding IsOn, ElementName=CardBrushAutoRestore, Converter={StaticResource BooleanToVisibilityConverter}}">
Visibility="{Binding IsOn, ElementName=CardBrushAutoRestore, Converter={StaticResource BooleanToVisibilityConverter}}"
d:Visibility="Visible"
d:IsExpanded="True">
<ui:SettingsExpander.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Settings}" />
</ui:SettingsExpander.HeaderIcon>
@@ -225,7 +228,8 @@
<ui:SettingsCard Header="{i18n:I18n Key=Canvas_SwitchBackDelay}"
Description="{i18n:I18n Key=Canvas_SwitchBackDelayHint}"
Visibility="{Binding IsOn, ElementName=CardEnableEraserAutoSwitchBack, Converter={StaticResource BooleanToVisibilityConverter}}">
Visibility="{Binding IsOn, ElementName=CardEnableEraserAutoSwitchBack, Converter={StaticResource BooleanToVisibilityConverter}}"
d:Visibility="Visible">
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="12">
<Slider x:Name="EraserAutoSwitchBackDelaySlider" Width="150" Minimum="1" Maximum="60"
Value="10" TickFrequency="1" IsSnapToTickEnabled="True"
@@ -264,6 +268,7 @@
<controls:LabeledSettingsCard x:Name="CardEnableInkToShapeNoFakePressureRectangle"
Header="{i18n:I18n Key=InkRecog_BlockRectFakePressure}"
ShowWhen="{Binding IsOn, ElementName=CardEnableInkToShape}"
d:Visibility="Visible"
Icon="{x:Static ui:SegoeFluentIcons.RectangularClipping}"
SwitchName="ToggleSwitchEnableInkToShapeNoFakePressureRectangle"
Toggled="ToggleSwitchEnableInkToShapeNoFakePressureRectangle_Toggled" />
@@ -271,12 +276,15 @@
<controls:LabeledSettingsCard x:Name="CardEnableInkToShapeNoFakePressureTriangle"
Header="{i18n:I18n Key=InkRecog_BlockTriFakePressure}"
ShowWhen="{Binding IsOn, ElementName=CardEnableInkToShape}"
d:Visibility="Visible"
Icon="{x:Static ui:SegoeFluentIcons.IncidentTriangle}"
SwitchName="ToggleSwitchEnableInkToShapeNoFakePressureTriangle"
Toggled="ToggleSwitchEnableInkToShapeNoFakePressureTriangle_Toggled" />
<ui:SettingsExpander Header="形状修正"
Visibility="{Binding IsOn, ElementName=CardEnableInkToShape, Converter={StaticResource BooleanToVisibilityConverter}}">
Visibility="{Binding IsOn, ElementName=CardEnableInkToShape, Converter={StaticResource BooleanToVisibilityConverter}}"
d:Visibility="Visible"
d:IsExpanded="True">
<ui:SettingsExpander.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Settings}" />
</ui:SettingsExpander.HeaderIcon>
@@ -306,7 +314,8 @@
Toggled="ToggleSwitchAutoStraightenLine_Toggled" />
<ui:SettingsCard Header="{i18n:I18n Key=InkRecog_LengthThreshold}"
Visibility="{Binding IsOn, ElementName=CardAutoStraightenLine, Converter={StaticResource BooleanToVisibilityConverter}}">
Visibility="{Binding IsOn, ElementName=CardAutoStraightenLine, Converter={StaticResource BooleanToVisibilityConverter}}"
d:Visibility="Visible">
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="12">
<Slider x:Name="AutoStraightenLineThresholdSlider" Width="150" Minimum="30" Maximum="300"
Value="80" TickFrequency="30" IsSnapToTickEnabled="True"
@@ -317,7 +326,8 @@
</ui:SettingsCard>
<ui:SettingsCard Header="{i18n:I18n Key=InkRecog_Sensitivity}"
Visibility="{Binding IsOn, ElementName=CardAutoStraightenLine, Converter={StaticResource BooleanToVisibilityConverter}}">
Visibility="{Binding IsOn, ElementName=CardAutoStraightenLine, Converter={StaticResource BooleanToVisibilityConverter}}"
d:Visibility="Visible">
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="12">
<Slider x:Name="LineStraightenSensitivitySlider" Width="150" Minimum="0.05" Maximum="2.0"
Value="0.20" TickFrequency="0.05" IsSnapToTickEnabled="True"
@@ -331,6 +341,7 @@
Header="{i18n:I18n Key=InkRecog_HighPrecisionStraighten}"
Description="{i18n:I18n Key=InkRecog_HighPrecisionHint}"
ShowWhen="{Binding IsOn, ElementName=CardAutoStraightenLine}"
d:Visibility="Visible"
Icon="{x:Static ui:SegoeFluentIcons.Bullseye}"
SwitchName="ToggleSwitchHighPrecisionLineStraighten"
Toggled="ToggleSwitchHighPrecisionLineStraighten_Toggled" />
@@ -343,7 +354,8 @@
<ui:SettingsCard Header="{i18n:I18n Key=InkRecog_SnappingDistance}"
Description="{i18n:I18n Key=InkRecog_LineEndpointSnappingHint}"
Visibility="{Binding IsOn, ElementName=CardLineEndpointSnapping, Converter={StaticResource BooleanToVisibilityConverter}}">
Visibility="{Binding IsOn, ElementName=CardLineEndpointSnapping, Converter={StaticResource BooleanToVisibilityConverter}}"
d:Visibility="Visible">
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="12">
<Slider x:Name="LineEndpointSnappingThresholdSlider" Width="150" Minimum="5" Maximum="50"
Value="15" TickFrequency="5" IsSnapToTickEnabled="True"
@@ -14,7 +14,8 @@
<StackPanel Margin="24">
<ui:SettingsExpander x:Name="settingsCard" VerticalAlignment="Top"
Description="The SettingsExpander has the same properties as a Card, and you can set SettingsCard as part of the Items collection."
Header="SettingsExpander" IsEnabled="True">
Header="SettingsExpander" IsEnabled="True"
d:IsExpanded="True">
<ui:SettingsExpander.HeaderIcon>
<ui:FontIcon Glyph="&#xE91B;"/>
@@ -56,7 +56,8 @@
<!-- 窗口置顶 -->
<ui:SettingsExpander x:Name="ExpanderAlwaysOnTop"
Header="{i18n:I18n Key=Startup_TopMost}"
Description="{i18n:I18n Key=Startup_TopMostHint}">
Description="{i18n:I18n Key=Startup_TopMostHint}"
d:IsExpanded="True">
<ui:SettingsExpander.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Pinned}" />
</ui:SettingsExpander.HeaderIcon>
@@ -48,11 +48,14 @@
Icon="{x:Static ui:SegoeFluentIcons.QuietHours}"
SwitchName="ToggleSwitchIsAutoUpdateWithSilence"
ShowWhen="{Binding IsOn, ElementName=CardAutoUpdate}"
d:Visibility="Visible"
Toggled="ToggleSwitchIsAutoUpdateWithSilence_Toggled" />
<ui:SettingsExpander x:Name="ExpanderSilentUpdateTime"
Header="{i18n:I18n Key=Startup_SilentUpdateTimePeriod}"
Visibility="{Binding IsOn, ElementName=CardSilentUpdate, Converter={StaticResource BooleanToVisibilityConverter}}">
Visibility="{Binding IsOn, ElementName=CardSilentUpdate, Converter={StaticResource BooleanToVisibilityConverter}}"
d:Visibility="Visible"
d:IsExpanded="True">
<ui:SettingsExpander.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Settings}" />
</ui:SettingsExpander.HeaderIcon>