improve:OOBE
This commit is contained in:
@@ -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"
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user