improve:OOBE

This commit is contained in:
2026-05-01 08:39:36 +08:00
parent 8c2fc15d81
commit 17c0ecc0f5
4 changed files with 101 additions and 135 deletions
+58 -83
View File
@@ -38,15 +38,6 @@
TargetType="TextBlock"> TargetType="TextBlock">
<Setter Property="Margin" Value="1,2,0,6" /> <Setter Property="Margin" Value="1,2,0,6" />
</Style> </Style>
<Style x:Key="OobeStepChipStyle" TargetType="Border">
<Setter Property="Background" Value="Transparent" />
<Setter Property="CornerRadius" Value="9" />
<Setter Property="Padding" Value="10,3" />
<Setter Property="Margin" Value="0,0,4,0" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Opacity" Value="0.55" />
</Style>
</ResourceDictionary> </ResourceDictionary>
</Window.Resources> </Window.Resources>
@@ -62,7 +53,9 @@
<Border x:Name="AppTitleBar" <Border x:Name="AppTitleBar"
Grid.Row="0" Grid.Row="0"
Height="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=(ui:TitleBar.Height)}" Height="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=(ui:TitleBar.Height)}"
Background="Transparent"> Background="Transparent"
IsHitTestVisible="True"
Canvas.ZIndex="10">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
@@ -80,10 +73,13 @@
Text="欢迎使用 InkCanvasForClass" Text="欢迎使用 InkCanvasForClass"
TextWrapping="NoWrap" /> TextWrapping="NoWrap" />
</ikw:SimpleStackPanel> </ikw:SimpleStackPanel>
<Rectangle Grid.Column="2"
Width="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=(ui:TitleBar.SystemOverlayRightInset)}" />
</Grid> </Grid>
</Border> </Border>
<!-- 顶部 Banner: 标题 + 步骤芯片 --> <!-- 顶部 Banner -->
<Border Grid.Row="1" <Border Grid.Row="1"
x:Name="HeaderBanner" x:Name="HeaderBanner"
Padding="56,16,56,18" Padding="56,16,56,18"
@@ -123,23 +119,23 @@
x:Name="StepIndicatorText" x:Name="StepIndicatorText"
Style="{DynamicResource CaptionTextBlockStyle}" Style="{DynamicResource CaptionTextBlockStyle}"
Opacity="0.75" Opacity="0.75"
Text="步骤 1 / 12" /> Text="步骤 1 / 8" />
<TextBlock Grid.Column="1" Grid.Row="1" <TextBlock Grid.Column="1" Grid.Row="1"
x:Name="StepTitleText" x:Name="StepTitleText"
Style="{DynamicResource TitleTextBlockStyle}" Style="{DynamicResource TitleTextBlockStyle}"
Margin="0,2,0,0" Margin="0,2,0,0"
Text="启动时行为" /> Text="启动与隐私" />
<TextBlock Grid.Column="1" Grid.Row="2" <TextBlock Grid.Column="1" Grid.Row="2"
x:Name="StepSubtitleText" x:Name="StepSubtitleText"
Style="{DynamicResource BodyTextBlockStyle}" Style="{DynamicResource BodyTextBlockStyle}"
Margin="0,4,0,0" Margin="0,4,0,0"
Opacity="0.85" Opacity="0.85"
TextWrapping="Wrap" TextWrapping="Wrap"
Text="遥测、自动更新与启动行为,对应 设置 → 启动、隐私。" /> Text="遥测、隐私协议、自动更新与崩溃处理。" />
</Grid> </Grid>
</Border> </Border>
<!-- 步骤内容(带切换动画) --> <!-- 步骤内容 -->
<Grid Grid.Row="2" ClipToBounds="True"> <Grid Grid.Row="2" ClipToBounds="True">
<ScrollViewer x:Name="StepScrollViewer" <ScrollViewer x:Name="StepScrollViewer"
PanningMode="VerticalFirst" PanningMode="VerticalFirst"
@@ -155,14 +151,14 @@
<TranslateTransform x:Name="StepHostTransform" X="0" Y="0" /> <TranslateTransform x:Name="StepHostTransform" X="0" Y="0" />
</ikw:SimpleStackPanel.RenderTransform> </ikw:SimpleStackPanel.RenderTransform>
<!-- 步骤 1:启动 / 隐私 --> <!-- 步骤 1: 启动隐私 -->
<ikw:SimpleStackPanel x:Name="StepTelemetryPanel" <ikw:SimpleStackPanel x:Name="StepTelemetryPanel"
Spacing="{StaticResource SettingsCardSpacing}"> Spacing="{StaticResource SettingsCardSpacing}">
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}" <TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"
Text="匿名使用数据与隐私" /> Text="匿名使用数据与隐私" />
<ui:SettingsExpander Header="匿名使用数据与隐私" <ui:SettingsExpander Header="匿名使用数据与隐私"
Description="完全匿名的使用统计,仅用于改进软件稳定性与性能。无论选择哪一项,课堂核心功能均可正常使用。" Description="完全匿名的使用统计,仅用于改进软件稳定性与性能。"
IsExpanded="True"> IsExpanded="True">
<ui:SettingsExpander.HeaderIcon> <ui:SettingsExpander.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Shield}" /> <ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Shield}" />
@@ -194,7 +190,7 @@
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}" <TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"
Margin="1,18,0,6" Margin="1,18,0,6"
Text="启动行为" /> Text="启动与崩溃处理" />
<controls:LabeledSettingsCard x:Name="CardFoldAtStartup" <controls:LabeledSettingsCard x:Name="CardFoldAtStartup"
Header="启动时收纳到屏幕边缘" Header="启动时收纳到屏幕边缘"
@@ -207,9 +203,20 @@
Description="允许后台检查更新并下载新版本。" Description="允许后台检查更新并下载新版本。"
Icon="{x:Static ui:SegoeFluentIcons.Sync}" Icon="{x:Static ui:SegoeFluentIcons.Sync}"
SwitchName="ToggleSwitchAutoUpdate" /> SwitchName="ToggleSwitchAutoUpdate" />
<ui:SettingsCard Header="发生未处理异常时"
Description="可在 设置 → 启动 中修改。">
<ui:SettingsCard.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Warning}" />
</ui:SettingsCard.HeaderIcon>
<ComboBox x:Name="ComboBoxCrashAction" MinWidth="200">
<ComboBoxItem Content="静默重启软件(推荐)" />
<ComboBoxItem Content="无操作(仅记录日志)" />
</ComboBox>
</ui:SettingsCard>
</ikw:SimpleStackPanel> </ikw:SimpleStackPanel>
<!-- 步骤 2:画板墨迹 --> <!-- 步骤 2: 画板墨迹(含纠正) -->
<ikw:SimpleStackPanel x:Name="StepCanvasPanel" <ikw:SimpleStackPanel x:Name="StepCanvasPanel"
Spacing="{StaticResource SettingsCardSpacing}" Spacing="{StaticResource SettingsCardSpacing}"
Visibility="Collapsed"> Visibility="Collapsed">
@@ -233,9 +240,19 @@
Description="进入 PPT 非批注模式时不显示墨迹。" Description="进入 PPT 非批注模式时不显示墨迹。"
Icon="{x:Static ui:SegoeFluentIcons.Hide}" Icon="{x:Static ui:SegoeFluentIcons.Hide}"
SwitchName="ToggleSwitchHideStrokeWhenSelecting" /> SwitchName="ToggleSwitchHideStrokeWhenSelecting" />
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"
Margin="1,18,0,6"
Text="墨迹纠正" />
<controls:LabeledSettingsCard x:Name="CardInkToShapeEnabled"
Header="启用墨迹识别"
Description="手绘图形自动转为标准形状。"
Icon="{x:Static ui:SegoeFluentIcons.Draw}"
SwitchName="ToggleSwitchInkToShapeEnabled" />
</ikw:SimpleStackPanel> </ikw:SimpleStackPanel>
<!-- 步骤 3:手势操作 --> <!-- 步骤 3: 手势 -->
<ikw:SimpleStackPanel x:Name="StepGesturesPanel" <ikw:SimpleStackPanel x:Name="StepGesturesPanel"
Spacing="{StaticResource SettingsCardSpacing}" Spacing="{StaticResource SettingsCardSpacing}"
Visibility="Collapsed"> Visibility="Collapsed">
@@ -264,21 +281,7 @@
SwitchName="ToggleSwitchEnablePalmEraser" /> SwitchName="ToggleSwitchEnablePalmEraser" />
</ikw:SimpleStackPanel> </ikw:SimpleStackPanel>
<!-- 步骤 4:墨迹纠正 --> <!-- 步骤 4: 个性化(主题 + 启动动画 + 托盘 + 快速面板 + 快捷键) -->
<ikw:SimpleStackPanel x:Name="StepInkRecognitionPanel"
Spacing="{StaticResource SettingsCardSpacing}"
Visibility="Collapsed">
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"
Text="墨迹纠正" />
<controls:LabeledSettingsCard x:Name="CardInkToShapeEnabled"
Header="启用墨迹识别"
Description="手绘图形自动转为标准形状。"
Icon="{x:Static ui:SegoeFluentIcons.Draw}"
SwitchName="ToggleSwitchInkToShapeEnabled" />
</ikw:SimpleStackPanel>
<!-- 步骤 5:个性化 -->
<ikw:SimpleStackPanel x:Name="StepAppearancePanel" <ikw:SimpleStackPanel x:Name="StepAppearancePanel"
Spacing="{StaticResource SettingsCardSpacing}" Spacing="{StaticResource SettingsCardSpacing}"
Visibility="Collapsed"> Visibility="Collapsed">
@@ -318,13 +321,9 @@
Description="计时器、点名等常用工具的快速入口。" Description="计时器、点名等常用工具的快速入口。"
Icon="{x:Static ui:SegoeFluentIcons.ViewAll}" Icon="{x:Static ui:SegoeFluentIcons.ViewAll}"
SwitchName="ToggleSwitchShowQuickPanel" /> SwitchName="ToggleSwitchShowQuickPanel" />
</ikw:SimpleStackPanel>
<!-- 步骤 6:快捷键 -->
<ikw:SimpleStackPanel x:Name="StepShortcutsPanel"
Spacing="{StaticResource SettingsCardSpacing}"
Visibility="Collapsed">
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}" <TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"
Margin="1,18,0,6"
Text="快捷键" /> Text="快捷键" />
<controls:LabeledSettingsCard x:Name="CardEnableHotkeysInMouseMode" <controls:LabeledSettingsCard x:Name="CardEnableHotkeysInMouseMode"
@@ -334,26 +333,7 @@
SwitchName="ToggleSwitchEnableHotkeysInMouseMode" /> SwitchName="ToggleSwitchEnableHotkeysInMouseMode" />
</ikw:SimpleStackPanel> </ikw:SimpleStackPanel>
<!-- 步骤 7:崩溃处理 --> <!-- 步骤 5: PowerPoint -->
<ikw:SimpleStackPanel x:Name="StepCrashActionPanel"
Spacing="{StaticResource SettingsCardSpacing}"
Visibility="Collapsed">
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"
Text="崩溃处理" />
<ui:SettingsCard Header="发生未处理异常时"
Description="可在 设置 → 启动 中修改。">
<ui:SettingsCard.HeaderIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Warning}" />
</ui:SettingsCard.HeaderIcon>
<ComboBox x:Name="ComboBoxCrashAction" MinWidth="200">
<ComboBoxItem Content="静默重启软件(推荐)" />
<ComboBoxItem Content="无操作(仅记录日志)" />
</ComboBox>
</ui:SettingsCard>
</ikw:SimpleStackPanel>
<!-- 步骤 8:PowerPoint -->
<ikw:SimpleStackPanel x:Name="StepPptPanel" <ikw:SimpleStackPanel x:Name="StepPptPanel"
Spacing="{StaticResource SettingsCardSpacing}" Spacing="{StaticResource SettingsCardSpacing}"
Visibility="Collapsed"> Visibility="Collapsed">
@@ -385,7 +365,7 @@
SwitchName="ToggleSwitchPptTimeCapsule" /> SwitchName="ToggleSwitchPptTimeCapsule" />
</ikw:SimpleStackPanel> </ikw:SimpleStackPanel>
<!-- 步骤 9:自动化 --> <!-- 步骤 6: 自动化 + 截图 -->
<ikw:SimpleStackPanel x:Name="StepAutomationPanel" <ikw:SimpleStackPanel x:Name="StepAutomationPanel"
Spacing="{StaticResource SettingsCardSpacing}" Spacing="{StaticResource SettingsCardSpacing}"
Visibility="Collapsed"> Visibility="Collapsed">
@@ -408,9 +388,23 @@
Description="拦截希沃、鸿合等课堂软件的悬浮窗,避免遮挡画板。" Description="拦截希沃、鸿合等课堂软件的悬浮窗,避免遮挡画板。"
Icon="{x:Static ui:SegoeFluentIcons.Cancel}" Icon="{x:Static ui:SegoeFluentIcons.Cancel}"
SwitchName="ToggleSwitchFloatingWindowInterceptor" /> SwitchName="ToggleSwitchFloatingWindowInterceptor" />
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"
Margin="1,18,0,6"
Text="截图与屏幕捕捉" />
<controls:LabeledSettingsCard x:Name="CardAutoSaveStrokesAtClear"
Header="清屏时自动保存截图"
Icon="{x:Static ui:SegoeFluentIcons.Camera}"
SwitchName="ToggleSwitchAutoSaveStrokesAtClear" />
<controls:LabeledSettingsCard x:Name="CardSaveScreenshotsInDateFolders"
Header="按日期分文件夹保存截图"
Icon="{x:Static ui:SegoeFluentIcons.Folder}"
SwitchName="ToggleSwitchSaveScreenshotsInDateFolders" />
</ikw:SimpleStackPanel> </ikw:SimpleStackPanel>
<!-- 步骤 10:随机点名 --> <!-- 步骤 7: 随机点名 -->
<ikw:SimpleStackPanel x:Name="StepLuckyRandomPanel" <ikw:SimpleStackPanel x:Name="StepLuckyRandomPanel"
Spacing="{StaticResource SettingsCardSpacing}" Spacing="{StaticResource SettingsCardSpacing}"
Visibility="Collapsed"> Visibility="Collapsed">
@@ -423,7 +417,7 @@
SwitchName="ToggleSwitchShowRandomAndSingleDraw" /> SwitchName="ToggleSwitchShowRandomAndSingleDraw" />
</ikw:SimpleStackPanel> </ikw:SimpleStackPanel>
<!-- 步骤 11:高级 --> <!-- 步骤 8: 高级 -->
<ikw:SimpleStackPanel x:Name="StepAdvancedPanel" <ikw:SimpleStackPanel x:Name="StepAdvancedPanel"
Spacing="{StaticResource SettingsCardSpacing}" Spacing="{StaticResource SettingsCardSpacing}"
Visibility="Collapsed"> Visibility="Collapsed">
@@ -437,24 +431,6 @@
SwitchName="ToggleSwitchIsLogEnabled" /> SwitchName="ToggleSwitchIsLogEnabled" />
</ikw:SimpleStackPanel> </ikw:SimpleStackPanel>
<!-- 步骤 12:截图与屏幕捕捉 -->
<ikw:SimpleStackPanel x:Name="StepSnapshotPanel"
Spacing="{StaticResource SettingsCardSpacing}"
Visibility="Collapsed">
<TextBlock Style="{StaticResource SettingsSectionHeaderTextBlockStyle}"
Text="截图和屏幕捕捉" />
<controls:LabeledSettingsCard x:Name="CardAutoSaveStrokesAtClear"
Header="清屏时自动保存截图"
Icon="{x:Static ui:SegoeFluentIcons.Camera}"
SwitchName="ToggleSwitchAutoSaveStrokesAtClear" />
<controls:LabeledSettingsCard x:Name="CardSaveScreenshotsInDateFolders"
Header="按日期分文件夹保存截图"
Icon="{x:Static ui:SegoeFluentIcons.Folder}"
SwitchName="ToggleSwitchSaveScreenshotsInDateFolders" />
</ikw:SimpleStackPanel>
<Rectangle Height="32" /> <Rectangle Height="32" />
</ikw:SimpleStackPanel> </ikw:SimpleStackPanel>
</Grid> </Grid>
@@ -474,7 +450,6 @@
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<!-- 进度条 -->
<Grid Grid.Column="0" VerticalAlignment="Center" Margin="0,0,16,0" MaxWidth="420" HorizontalAlignment="Left"> <Grid Grid.Column="0" VerticalAlignment="Center" Margin="0,0,16,0" MaxWidth="420" HorizontalAlignment="Left">
<Border Height="4" CornerRadius="2" <Border Height="4" CornerRadius="2"
Background="{DynamicResource SystemControlBackgroundChromeMediumLowBrush}" /> Background="{DynamicResource SystemControlBackgroundChromeMediumLowBrush}" />
@@ -491,7 +466,7 @@
Margin="0,0,16,0" Margin="0,0,16,0"
Style="{DynamicResource CaptionTextBlockStyle}" Style="{DynamicResource CaptionTextBlockStyle}"
Opacity="0.7" Opacity="0.7"
Text="1 / 12" /> Text="1 / 8" />
<Button x:Name="BtnPreviousStep" <Button x:Name="BtnPreviousStep"
Grid.Column="2" Grid.Column="2"
+17 -41
View File
@@ -15,8 +15,8 @@ namespace Ink_Canvas.Windows
{ {
private readonly Settings _settings; private readonly Settings _settings;
private int _currentStep = 0; private int _currentStep = 0;
private const int MaxStepIndex = 11; private const int MaxStepIndex = 7;
private const int StepCount = 12; private const int StepCount = 8;
private FrameworkElement[] _stepPanels; private FrameworkElement[] _stepPanels;
private static readonly TimeSpan SlideDuration = TimeSpan.FromMilliseconds(280); private static readonly TimeSpan SlideDuration = TimeSpan.FromMilliseconds(280);
@@ -36,15 +36,11 @@ namespace Ink_Canvas.Windows
StepTelemetryPanel, StepTelemetryPanel,
StepCanvasPanel, StepCanvasPanel,
StepGesturesPanel, StepGesturesPanel,
StepInkRecognitionPanel,
StepAppearancePanel, StepAppearancePanel,
StepShortcutsPanel,
StepCrashActionPanel,
StepPptPanel, StepPptPanel,
StepAutomationPanel, StepAutomationPanel,
StepLuckyRandomPanel, StepLuckyRandomPanel,
StepAdvancedPanel, StepAdvancedPanel,
StepSnapshotPanel,
}; };
InitializeFromSettings(); InitializeFromSettings();
@@ -409,65 +405,45 @@ namespace Ink_Canvas.Windows
switch (step) switch (step)
{ {
case 0: case 0:
title = "启动时行为"; title = "启动与隐私";
subtitle = "遥测、自动更新与启动行为,对应 设置 → 启动、隐私。"; subtitle = "遥测、隐私协议、自动更新与崩溃处理。";
icon = SegoeFluentIcons.Shield; icon = SegoeFluentIcons.Shield;
break; break;
case 1: case 1:
title = "画板与墨迹"; title = "画板与墨迹";
subtitle = "画笔光标、压感、墨迹显示,对应 设置 → 画板。"; subtitle = "光标、压感、墨迹显示与墨迹纠正。";
icon = SegoeFluentIcons.Edit; icon = SegoeFluentIcons.Edit;
break; break;
case 2: case 2:
title = "手势操作"; title = "手势操作";
subtitle = "双指缩放/平移、手掌擦等,对应 设置 → 画板。"; subtitle = "双指缩放/平移、手掌擦等。";
icon = SegoeFluentIcons.TouchPointer; icon = SegoeFluentIcons.TouchPointer;
break; break;
case 3: case 3:
title = "墨迹纠正"; title = "个性化";
subtitle = "手绘图形识别为标准形状,对应 设置 → 墨迹纠正。"; subtitle = "主题、启动动画、托盘、快速面板与快捷键。";
icon = SegoeFluentIcons.Draw;
break;
case 4:
title = "个性化设置";
subtitle = "主题、启动动画、托盘与快速面板,对应 设置 → 个性化。";
icon = SegoeFluentIcons.Personalize; icon = SegoeFluentIcons.Personalize;
break; break;
case 5: case 4:
title = "快捷键";
subtitle = "鼠标模式下的全局快捷键,对应 设置 → 个性化。";
icon = SegoeFluentIcons.PenWorkspace;
break;
case 6:
title = "崩溃处理";
subtitle = "未处理异常时的行为,对应 设置 → 启动。";
icon = SegoeFluentIcons.Warning;
break;
case 7:
title = "PowerPoint 联动"; title = "PowerPoint 联动";
subtitle = "放映联动墨迹保存,对应 设置 → PowerPoint。"; subtitle = "放映联动墨迹与截屏自动保存、时间胶囊。";
icon = SegoeFluentIcons.Slideshow; icon = SegoeFluentIcons.Slideshow;
break; break;
case 8: case 5:
title = "自动化行为"; title = "自动化与截图";
subtitle = "自动收纳、墨迹自动保存等,对应 设置 → 自动化。"; subtitle = "自动收纳、墨迹自动保存、悬浮窗拦截与截图保存。";
icon = SegoeFluentIcons.Sync; icon = SegoeFluentIcons.Sync;
break; break;
case 9: case 6:
title = "随机点名"; title = "随机点名";
subtitle = "点名窗口选项,对应 设置 → 随机点名。"; subtitle = "点名窗口选项。";
icon = SegoeFluentIcons.People; icon = SegoeFluentIcons.People;
break; break;
case 10: case 7:
title = "高级选项"; title = "高级选项";
subtitle = "日志等,对应 设置 → 高级。"; subtitle = "日志等高级配置。";
icon = SegoeFluentIcons.Settings; icon = SegoeFluentIcons.Settings;
break; break;
case 11:
title = "截图和屏幕捕捉";
subtitle = "清屏截图、按日期保存等,对应 设置 → 自动化。";
icon = SegoeFluentIcons.Camera;
break;
default: default:
title = string.Empty; subtitle = string.Empty; icon = SegoeFluentIcons.Home; title = string.Empty; subtitle = string.Empty; icon = SegoeFluentIcons.Home;
break; break;
+25 -10
View File
@@ -39,17 +39,32 @@
<!-- 标题栏 --> <!-- 标题栏 -->
<Border Grid.Row="0" <Border Grid.Row="0"
x:Name="AppTitleBar"
Height="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=(ui:TitleBar.Height)}" Height="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=(ui:TitleBar.Height)}"
Background="Transparent"> Background="Transparent"
<ikw:SimpleStackPanel Orientation="Horizontal" IsHitTestVisible="True"
Spacing="12" Canvas.ZIndex="10">
VerticalAlignment="Center" <Grid>
Margin="16,0,0,0"> <Grid.ColumnDefinitions>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Shield}" FontSize="14" /> <ColumnDefinition Width="Auto" />
<TextBlock VerticalAlignment="Center" <ColumnDefinition />
Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=Title}" <ColumnDefinition Width="137" />
TextWrapping="NoWrap" /> </Grid.ColumnDefinitions>
</ikw:SimpleStackPanel> <ikw:SimpleStackPanel Grid.Column="0"
Orientation="Horizontal"
Spacing="12"
VerticalAlignment="Center"
Margin="16,0,0,0">
<Image Source="\Resources\icc.ico" Width="20"
RenderOptions.BitmapScalingMode="HighQuality" />
<TextBlock VerticalAlignment="Center"
Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=Title}"
TextWrapping="NoWrap" />
</ikw:SimpleStackPanel>
<Rectangle Grid.Column="2"
Width="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=Window}, Path=(ui:TitleBar.SystemOverlayRightInset)}" />
</Grid>
</Border> </Border>
<!-- Banner Header --> <!-- Banner Header -->
@@ -391,7 +391,7 @@ namespace Ink_Canvas.Windows.SettingsViews.Pages
Content = content, Content = content,
PrimaryButtonText = "保存", PrimaryButtonText = "保存",
SecondaryButtonText = "取消", SecondaryButtonText = "取消",
Owner = GetMainWindow() Owner = Window.GetWindow(this) ?? GetMainWindow()
}; };
var result = await dialog.ShowAsync(); var result = await dialog.ShowAsync();
if (result != ContentDialogResult.Primary) return; if (result != ContentDialogResult.Primary) return;