Files

3664 lines
330 KiB
XML
Raw Permalink Normal View History

<Window Name="window" x:Class="Ink_Canvas.MainWindow"
2025-05-25 09:29:48 +08:00
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="http://schemas.inkore.net/lib/ui/wpf/modern"
xmlns:ikw="http://schemas.inkore.net/lib/ui/wpf"
2025-05-25 09:29:48 +08:00
xmlns:c="clr-namespace:Ink_Canvas.Converter"
xmlns:Controls="http://schemas.microsoft.com/netfx/2009/xaml/presentation"
2026-04-13 13:01:14 +08:00
xmlns:controls="clr-namespace:Ink_Canvas.Controls;assembly=InkCanvas.Controls"
xmlns:localControls="clr-namespace:Ink_Canvas.Controls"
2025-11-29 16:27:35 +08:00
xmlns:Windows="clr-namespace:Ink_Canvas.Windows"
2026-02-23 14:14:35 +08:00
xmlns:props="clr-namespace:Ink_Canvas.Properties"
2026-02-23 14:31:48 +08:00
xmlns:i18n="clr-namespace:Ink_Canvas.MarkupExtensions"
2026-03-03 17:22:48 +08:00
xmlns:helpers="clr-namespace:Ink_Canvas.Helpers"
2026-04-13 01:40:39 +08:00
xmlns:icons="clr-namespace:Ink_Canvas"
2025-05-25 09:29:48 +08:00
mc:Ignorable="d"
AllowsTransparency="True"
WindowStyle="None"
ResizeMode="NoResize"
Loaded="Window_Loaded"
Background="Transparent"
ShowInTaskbar="False"
Title="InkCanvasforClass"
Topmost="True"
Closing="Window_Closing"
Closed="Window_Closed"
PreviewKeyDown="Main_Grid_PreviewKeyDown"
Height="1080" Width="1920"
2025-05-25 09:29:48 +08:00
FontFamily="Microsoft YaHei UI"
MouseWheel="Window_MouseWheel"
2025-09-21 00:25:09 +08:00
Foreground="{DynamicResource FloatBarForeground}"
2025-05-25 09:29:48 +08:00
SizeChanged="MainWindow_OnSizeChanged"
MouseMove="MainWindow_OnMouseMove"
Stylus.IsPressAndHoldEnabled="False"
Stylus.IsFlicksEnabled="False"
Stylus.IsTapFeedbackEnabled="False"
DpiChanged="MainWindow_OnDpiChanged"
Stylus.IsTouchFeedbackEnabled="False">
<!--资源中添加命令-->
<Window.Resources>
2025-07-19 13:35:28 +08:00
<ResourceDictionary>
<!-- 合并新橡皮擦资源 -->
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="MainWindow_cs/MW_Eraser.xaml"/>
</ResourceDictionary.MergedDictionaries>
2026-04-17 21:10:26 +08:00
<SolidColorBrush x:Key="NavButtonActiveBackground" Color="#3b82f6"/>
2025-07-19 13:35:28 +08:00
<c:IsEnabledToOpacityConverter x:Key="IsEnabledToOpacityConverter" />
2025-08-09 13:16:22 +08:00
<c:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
2025-10-06 22:41:42 +08:00
<c:InverseBooleanToVisibilityConverter x:Key="InverseBooleanToVisibilityConverter" />
2025-08-09 13:16:22 +08:00
<c:IntNumberToString x:Key="IntNumberToString" />
<c:IntNumberToString2 x:Key="IntNumberToString2" />
2026-04-13 01:40:39 +08:00
<c:StringToGeometryConverter x:Key="StringToGeometryConverter" />
2025-08-09 13:16:22 +08:00
2026-03-03 17:22:48 +08:00
<!-- 浮动栏/白板栏:英文等长文本自动缩小避免截断 -->
<Style x:Key="AutoFitFloatBarLabel12" TargetType="TextBlock">
<Setter Property="TextWrapping" Value="NoWrap" />
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="helpers:AutoFontSizeHelper.IsEnabled" Value="True" />
<Setter Property="helpers:AutoFontSizeHelper.MinFontSize" Value="7" />
<Setter Property="helpers:AutoFontSizeHelper.MaxFontSize" Value="12" />
<Setter Property="helpers:AutoFontSizeHelper.Step" Value="0.5" />
</Style>
<Style x:Key="AutoFitFloatBarLabel9" TargetType="TextBlock">
<Setter Property="TextWrapping" Value="NoWrap" />
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="helpers:AutoFontSizeHelper.IsEnabled" Value="True" />
<Setter Property="helpers:AutoFontSizeHelper.MinFontSize" Value="6" />
<Setter Property="helpers:AutoFontSizeHelper.MaxFontSize" Value="9" />
<Setter Property="helpers:AutoFontSizeHelper.Step" Value="0.5" />
</Style>
<Style x:Key="AutoFitFloatBarLabel8" TargetType="TextBlock">
<Setter Property="TextWrapping" Value="NoWrap" />
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="helpers:AutoFontSizeHelper.IsEnabled" Value="True" />
2026-03-04 11:42:22 +08:00
<Setter Property="helpers:AutoFontSizeHelper.MinFontSize" Value="3.5" />
2026-03-03 17:22:48 +08:00
<Setter Property="helpers:AutoFontSizeHelper.MaxFontSize" Value="8" />
2026-03-04 10:25:25 +08:00
<Setter Property="helpers:AutoFontSizeHelper.Step" Value="0.25" />
</Style>
<Style x:Key="AutoFitMainToolbarLabel8" TargetType="TextBlock" BasedOn="{StaticResource AutoFitFloatBarLabel8}">
<Setter Property="Height" Value="10" />
<Setter Property="LineStackingStrategy" Value="BlockLineHeight" />
<Setter Property="LineHeight" Value="10" />
2026-03-04 11:42:22 +08:00
<Setter Property="helpers:AutoFontSizeHelper.MinFontSize" Value="2.5" />
<Setter Property="helpers:AutoFontSizeHelper.Step" Value="0.1" />
</Style>
<Style x:Key="AutoFitPenTabLabel9" TargetType="TextBlock">
<Setter Property="TextWrapping" Value="NoWrap" />
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="helpers:AutoFontSizeHelper.IsEnabled" Value="True" />
<Setter Property="helpers:AutoFontSizeHelper.MinFontSize" Value="3.5" />
<Setter Property="helpers:AutoFontSizeHelper.MaxFontSize" Value="9" />
<Setter Property="helpers:AutoFontSizeHelper.Step" Value="0.1" />
2026-03-04 10:25:25 +08:00
</Style>
2026-03-04 11:48:43 +08:00
<Style x:Key="AutoFitSettingsOptionLabel14" TargetType="TextBlock">
2026-03-04 14:06:21 +08:00
<Setter Property="TextWrapping" Value="Wrap" />
2026-03-04 11:48:43 +08:00
<Setter Property="TextAlignment" Value="Left" />
<Setter Property="helpers:AutoFontSizeHelper.IsEnabled" Value="True" />
<Setter Property="helpers:AutoFontSizeHelper.MinFontSize" Value="8" />
<Setter Property="helpers:AutoFontSizeHelper.MaxFontSize" Value="14" />
<Setter Property="helpers:AutoFontSizeHelper.Step" Value="0.25" />
</Style>
<Style x:Key="AutoFitSettingsHint15" TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="helpers:AutoFontSizeHelper.IsEnabled" Value="True" />
<Setter Property="helpers:AutoFontSizeHelper.MinFontSize" Value="10" />
<Setter Property="helpers:AutoFontSizeHelper.MaxFontSize" Value="15" />
<Setter Property="helpers:AutoFontSizeHelper.Step" Value="0.25" />
</Style>
2026-03-04 14:06:21 +08:00
<Style x:Key="AutoFitSettingsGridLabel14" TargetType="TextBlock">
<Setter Property="TextWrapping" Value="Wrap" />
<Setter Property="TextAlignment" Value="Center" />
<Setter Property="helpers:AutoFontSizeHelper.IsEnabled" Value="True" />
<Setter Property="helpers:AutoFontSizeHelper.MinFontSize" Value="8" />
<Setter Property="helpers:AutoFontSizeHelper.MaxFontSize" Value="14" />
<Setter Property="helpers:AutoFontSizeHelper.Step" Value="0.25" />
</Style>
2026-03-04 10:25:25 +08:00
<Style x:Key="AutoFitToolPopupLabel8" TargetType="Label">
<Setter Property="Padding" Value="0" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Foreground" Value="{DynamicResource FloatBarForeground}" />
<Setter Property="helpers:AutoFontSizeHelper.IsEnabled" Value="True" />
<Setter Property="helpers:AutoFontSizeHelper.MinFontSize" Value="3.5" />
<Setter Property="helpers:AutoFontSizeHelper.MaxFontSize" Value="8" />
<Setter Property="helpers:AutoFontSizeHelper.Step" Value="0.25" />
2026-03-03 17:22:48 +08:00
</Style>
2026-03-04 11:17:05 +08:00
<Style x:Key="AutoFitGestureOptionLabel10" TargetType="Label">
<Setter Property="Foreground" Value="{DynamicResource FloatBarForeground}" />
2026-04-04 23:34:26 +08:00
<Setter Property="FontWeight" Value="Normal" />
2026-03-04 11:17:05 +08:00
<Setter Property="Padding" Value="0" />
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="helpers:AutoFontSizeHelper.IsEnabled" Value="True" />
<Setter Property="helpers:AutoFontSizeHelper.MinFontSize" Value="4" />
<Setter Property="helpers:AutoFontSizeHelper.MaxFontSize" Value="8" />
<Setter Property="helpers:AutoFontSizeHelper.Step" Value="0.25" />
</Style>
2026-04-04 23:34:26 +08:00
<Style x:Key="AutoFitBoardGestureOptionLabel10" TargetType="Label" BasedOn="{StaticResource AutoFitGestureOptionLabel10}">
<Setter Property="helpers:AutoFontSizeHelper.MinFontSize" Value="5" />
<Setter Property="helpers:AutoFontSizeHelper.MaxFontSize" Value="10" />
</Style>
2025-08-09 13:16:22 +08:00
<!-- Navigation Button Style -->
<Style x:Key="NavButton" TargetType="Button">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border x:Name="border" Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="4">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#27272a"/>
</Trigger>
<Trigger Property="IsPressed" Value="True">
2026-04-17 21:10:26 +08:00
<Setter Property="Background" Value="{StaticResource NavButtonActiveBackground}"/>
2025-08-09 13:16:22 +08:00
</Trigger>
<!-- 使用多个DataTrigger替代动态绑定 -->
<DataTrigger Binding="{Binding Tag}" Value="startup">
2026-04-17 21:10:26 +08:00
<Setter Property="Background" Value="{StaticResource NavButtonActiveBackground}"/>
2025-08-09 13:16:22 +08:00
</DataTrigger>
<DataTrigger Binding="{Binding Tag}" Value="canvas">
2026-04-17 21:10:26 +08:00
<Setter Property="Background" Value="{StaticResource NavButtonActiveBackground}"/>
2025-08-09 13:16:22 +08:00
</DataTrigger>
<DataTrigger Binding="{Binding Tag}" Value="gesture">
2026-04-17 21:10:26 +08:00
<Setter Property="Background" Value="{StaticResource NavButtonActiveBackground}"/>
2025-08-09 13:16:22 +08:00
</DataTrigger>
<DataTrigger Binding="{Binding Tag}" Value="inkrecognition">
2026-04-17 21:10:26 +08:00
<Setter Property="Background" Value="{StaticResource NavButtonActiveBackground}"/>
2025-08-09 13:16:22 +08:00
</DataTrigger>
<DataTrigger Binding="{Binding Tag}" Value="crashaction">
2026-04-17 21:10:26 +08:00
<Setter Property="Background" Value="{StaticResource NavButtonActiveBackground}"/>
2025-08-09 13:16:22 +08:00
</DataTrigger>
<DataTrigger Binding="{Binding Tag}" Value="ppt">
2026-04-17 21:10:26 +08:00
<Setter Property="Background" Value="{StaticResource NavButtonActiveBackground}"/>
2025-08-09 13:16:22 +08:00
</DataTrigger>
<DataTrigger Binding="{Binding Tag}" Value="advanced">
2026-04-17 21:10:26 +08:00
<Setter Property="Background" Value="{StaticResource NavButtonActiveBackground}"/>
2025-08-09 13:16:22 +08:00
</DataTrigger>
<DataTrigger Binding="{Binding Tag}" Value="automation">
2026-04-17 21:10:26 +08:00
<Setter Property="Background" Value="{StaticResource NavButtonActiveBackground}"/>
2025-08-09 13:16:22 +08:00
</DataTrigger>
<DataTrigger Binding="{Binding Tag}" Value="randomwindow">
2026-04-17 21:10:26 +08:00
<Setter Property="Background" Value="{StaticResource NavButtonActiveBackground}"/>
2025-08-09 13:16:22 +08:00
</DataTrigger>
<DataTrigger Binding="{Binding Tag}" Value="theme">
2026-04-17 21:10:26 +08:00
<Setter Property="Background" Value="{StaticResource NavButtonActiveBackground}"/>
2025-08-09 13:16:22 +08:00
</DataTrigger>
<DataTrigger Binding="{Binding Tag}" Value="shortcuts">
2026-04-17 21:10:26 +08:00
<Setter Property="Background" Value="{StaticResource NavButtonActiveBackground}"/>
2025-08-09 13:16:22 +08:00
</DataTrigger>
<DataTrigger Binding="{Binding Tag}" Value="about">
2026-04-17 21:10:26 +08:00
<Setter Property="Background" Value="{StaticResource NavButtonActiveBackground}"/>
2025-08-09 13:16:22 +08:00
</DataTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
2025-07-19 13:35:28 +08:00
</ResourceDictionary>
2025-08-09 13:16:22 +08:00
</Window.Resources>
2025-05-25 09:29:48 +08:00
<Grid x:Name="Main_Grid">
2025-07-20 00:25:33 +08:00
2025-05-25 09:29:48 +08:00
<!--// 黑/白 板幕布 //-->
<Grid Name="GridBackgroundCoverHolder">
<Grid Name="GridBackgroundCover" Visibility="Collapsed" Background="#1F1F1F">
<Image Name="ICCWaterMarkWhite" Source="Resources/Icons-png/icc-transparent.png" Width="648"
Height="648" Opacity="0.035" />
<Image Name="ICCWaterMarkDark" Source="Resources/Icons-png/icc-transparent-dark.png" Width="648"
Height="648" Opacity="0.055" />
</Grid>
</Grid>
<Grid Name="GridTransparencyFakeBackground" Opacity="0" />
<Label Name="Label" Visibility="Collapsed" Foreground="Gray" Content="0" />
<Grid Name="InkCanvasGridForInkReplay">
2025-06-17 18:45:55 +08:00
<InkCanvas x:Name="inkCanvas" ForceCursor="True" UseCustomCursor="True"
2025-07-18 16:12:04 +08:00
TouchDown="Main_Grid_TouchDown"
2025-05-25 09:29:48 +08:00
TouchMove="inkCanvas_TouchMove"
ManipulationDelta="Main_Grid_ManipulationDelta"
ManipulationCompleted="Main_Grid_ManipulationCompleted"
2025-12-27 10:51:42 +08:00
ManipulationInertiaStarting="InkCanvas_ManipulationInertiaStarting"
2025-05-25 09:29:48 +08:00
IsManipulationEnabled="True"
EditingModeChanged="inkCanvas_EditingModeChanged"
2025-12-27 10:51:42 +08:00
PreviewTouchDown="InkCanvas_PreviewTouchDown"
PreviewTouchMove="InkCanvas_PreviewTouchMove"
PreviewTouchUp="InkCanvas_PreviewTouchUp"
2025-05-25 09:29:48 +08:00
MouseDown="inkCanvas_MouseDown"
MouseMove="inkCanvas_MouseMove"
MouseUp="inkCanvas_MouseUp"
2025-12-27 10:51:42 +08:00
ManipulationStarting="InkCanvas_ManipulationStarting"
2025-05-25 09:29:48 +08:00
SelectionChanged="inkCanvas_SelectionChanged"
2025-12-20 19:36:16 +08:00
StrokeCollected="inkCanvas_StrokeCollected"
ClipToBounds="False"
2025-12-21 17:30:29 +08:00
Background="Transparent" />
2026-03-28 16:59:02 +08:00
2025-09-27 17:01:33 +08:00
<Canvas x:Name="EraserOverlayCanvas"
2025-07-19 13:35:28 +08:00
Background="Transparent"
IsHitTestVisible="False"
2025-09-27 17:01:33 +08:00
Loaded="EraserOverlayCanvas_Loaded"
Panel.ZIndex="1000">
<!-- 橡皮擦视觉反馈图像 -->
<Image x:Name="EraserFeedback"
Canvas.Left="0"
Canvas.Top="0"
RenderTransformOrigin="0,0"
Width="0"
Height="0"
Visibility="Collapsed">
<Image.RenderTransform>
<TranslateTransform x:Name="EraserFeedbackTranslateTransform"/>
</Image.RenderTransform>
</Image>
</Canvas>
2025-11-08 22:07:38 +08:00
<!-- 快抽悬浮按钮 -->
2026-04-13 13:01:14 +08:00
<localControls:QuickDrawFloatingButtonControl x:Name="QuickDrawFloatingButton"
2025-11-08 22:07:38 +08:00
HorizontalAlignment="Right"
VerticalAlignment="Bottom"
Margin="0,0,0,200"
Visibility="Collapsed"
2025-11-08 22:17:52 +08:00
Panel.ZIndex="1001"/>
2025-05-25 09:29:48 +08:00
</Grid>
<Canvas IsHitTestVisible="False">
<ikw:SimpleStackPanel Canvas.Left="25" Canvas.Top="15" Orientation="Vertical">
2025-05-25 09:29:48 +08:00
<TextBlock Text="{Binding nowTime}" Name="WaterMarkTime" Visibility="Collapsed" FontSize="30"
FontWeight="Bold" Foreground="White" Opacity="0.6" />
<TextBlock Text="{Binding nowDate}" Name="WaterMarkDate" Visibility="Collapsed" Margin="2,0,0,0"
FontSize="16" Foreground="White" Opacity="0.45" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
<TextBlock Canvas.Right="25" Canvas.Top="15" Text="多一份理解,少一份抱怨" Name="BlackBoardWaterMark"
Visibility="Collapsed" FontSize="24" FontWeight="Bold" Foreground="White" Opacity="0.5" />
</Canvas>
<Grid Visibility="{Binding ElementName=inkCanvas, Path=Visibility}">
<Grid Name="GridInkCanvasSelectionCover"
MouseDown="GridInkCanvasSelectionCover_MouseDown"
2025-09-07 00:57:48 +08:00
MouseMove="GridInkCanvasSelectionCover_MouseMove"
2025-05-25 09:29:48 +08:00
MouseUp="GridInkCanvasSelectionCover_MouseUp"
IsManipulationEnabled="True"
ManipulationStarting="GridInkCanvasSelectionCover_ManipulationStarting"
ManipulationCompleted="GridInkCanvasSelectionCover_ManipulationCompleted"
ManipulationDelta="GridInkCanvasSelectionCover_ManipulationDelta"
TouchDown="GridInkCanvasSelectionCover_TouchDown"
TouchUp="GridInkCanvasSelectionCover_TouchUp"
TouchMove="GridInkCanvasSelectionCover_TouchMove"
2025-09-07 01:45:50 +08:00
Background="#01FFFFFF" Opacity="0.01" Visibility="Visible" Margin="1,0,-1,0">
<!-- 选择框 -->
<Rectangle Name="SelectionRectangle"
Stroke="Blue"
StrokeThickness="2"
StrokeDashArray="5,5"
Fill="Transparent"
Visibility="Collapsed"
IsHitTestVisible="False"
HorizontalAlignment="Left"
VerticalAlignment="Top" />
<!-- 选择点容器 -->
<Canvas Name="SelectionHandlesCanvas" Visibility="Collapsed">
<!-- 四个角选择点 -->
<Rectangle Name="TopLeftHandle" Width="8" Height="8" Fill="LightBlue" Stroke="Blue" StrokeThickness="1"
Cursor="SizeNWSE" MouseDown="SelectionHandle_MouseDown" MouseMove="SelectionHandle_MouseMove" MouseUp="SelectionHandle_MouseUp"
TouchDown="SelectionHandle_TouchDown" TouchMove="SelectionHandle_TouchMove" TouchUp="SelectionHandle_TouchUp" />
2025-09-07 01:45:50 +08:00
<Rectangle Name="TopRightHandle" Width="8" Height="8" Fill="LightBlue" Stroke="Blue" StrokeThickness="1"
Cursor="SizeNESW" MouseDown="SelectionHandle_MouseDown" MouseMove="SelectionHandle_MouseMove" MouseUp="SelectionHandle_MouseUp"
TouchDown="SelectionHandle_TouchDown" TouchMove="SelectionHandle_TouchMove" TouchUp="SelectionHandle_TouchUp" />
2025-09-07 01:45:50 +08:00
<Rectangle Name="BottomLeftHandle" Width="8" Height="8" Fill="LightBlue" Stroke="Blue" StrokeThickness="1"
Cursor="SizeNESW" MouseDown="SelectionHandle_MouseDown" MouseMove="SelectionHandle_MouseMove" MouseUp="SelectionHandle_MouseUp"
TouchDown="SelectionHandle_TouchDown" TouchMove="SelectionHandle_TouchMove" TouchUp="SelectionHandle_TouchUp" />
2025-09-07 01:45:50 +08:00
<Rectangle Name="BottomRightHandle" Width="8" Height="8" Fill="LightBlue" Stroke="Blue" StrokeThickness="1"
Cursor="SizeNWSE" MouseDown="SelectionHandle_MouseDown" MouseMove="SelectionHandle_MouseMove" MouseUp="SelectionHandle_MouseUp"
TouchDown="SelectionHandle_TouchDown" TouchMove="SelectionHandle_TouchMove" TouchUp="SelectionHandle_TouchUp" />
2025-09-07 01:45:50 +08:00
<!-- 四个边选择点 -->
<Rectangle Name="TopHandle" Width="8" Height="8" Fill="LightBlue" Stroke="Blue" StrokeThickness="1"
Cursor="SizeNS" MouseDown="SelectionHandle_MouseDown" MouseMove="SelectionHandle_MouseMove" MouseUp="SelectionHandle_MouseUp"
TouchDown="SelectionHandle_TouchDown" TouchMove="SelectionHandle_TouchMove" TouchUp="SelectionHandle_TouchUp" />
2025-09-07 01:45:50 +08:00
<Rectangle Name="BottomHandle" Width="8" Height="8" Fill="LightBlue" Stroke="Blue" StrokeThickness="1"
Cursor="SizeNS" MouseDown="SelectionHandle_MouseDown" MouseMove="SelectionHandle_MouseMove" MouseUp="SelectionHandle_MouseUp"
TouchDown="SelectionHandle_TouchDown" TouchMove="SelectionHandle_TouchMove" TouchUp="SelectionHandle_TouchUp" />
2025-09-07 01:45:50 +08:00
<Rectangle Name="LeftHandle" Width="8" Height="8" Fill="LightBlue" Stroke="Blue" StrokeThickness="1"
Cursor="SizeWE" MouseDown="SelectionHandle_MouseDown" MouseMove="SelectionHandle_MouseMove" MouseUp="SelectionHandle_MouseUp"
TouchDown="SelectionHandle_TouchDown" TouchMove="SelectionHandle_TouchMove" TouchUp="SelectionHandle_TouchUp" />
2025-09-07 01:45:50 +08:00
<Rectangle Name="RightHandle" Width="8" Height="8" Fill="LightBlue" Stroke="Blue" StrokeThickness="1"
Cursor="SizeWE" MouseDown="SelectionHandle_MouseDown" MouseMove="SelectionHandle_MouseMove" MouseUp="SelectionHandle_MouseUp"
TouchDown="SelectionHandle_TouchDown" TouchMove="SelectionHandle_TouchMove" TouchUp="SelectionHandle_TouchUp" />
2025-09-07 01:45:50 +08:00
</Canvas>
</Grid>
2025-05-25 09:29:48 +08:00
<Border Name="BorderStrokeSelectionControl"
2026-04-29 23:23:58 +08:00
HorizontalAlignment="Left" VerticalAlignment="Top" Margin="800,400,0,0"
2025-05-25 09:29:48 +08:00
CornerRadius="5" Height="80"
Background="{DynamicResource FloatBarBackground}"
Visibility="{Binding ElementName=GridInkCanvasSelectionCover, Path=Visibility}"
BorderThickness="1" BorderBrush="{DynamicResource FloatBarBorderBrush}">
<Viewbox Margin="0,-2.5">
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="10" Height="60">
2025-05-25 09:29:48 +08:00
<Border Name="BorderStrokeSelectionClone" Margin="0,2,-9,2" Background="Transparent"
CornerRadius="{Binding ElementName=BorderStrokeSelectionControl, Path=CornerRadius}"
Width="40" MouseDown="Border_MouseDown" MouseUp="BorderStrokeSelectionClone_MouseUp">
<ikw:SimpleStackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
2025-10-05 08:55:18 +08:00
<Image Source="{DynamicResource StrokeSelectionCloneIcon}"
2025-05-25 09:29:48 +08:00
RenderOptions.BitmapScalingMode="HighQuality" Height="25" Width="25" />
<TextBlock Text="克隆" FontSize="10" Foreground="{DynamicResource FloatBarForeground}"
HorizontalAlignment="Center" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
<Border Name="BorderStrokeSelectionCloneToNewBoard" Margin="0,2,-9,2" Background="Transparent"
CornerRadius="{Binding ElementName=BorderStrokeSelectionControl, Path=CornerRadius}"
Width="40" MouseDown="Border_MouseDown"
MouseUp="BorderStrokeSelectionCloneToNewBoard_MouseUp"
Visibility="{Binding Visibility, ElementName=GridBackgroundCover}">
<ikw:SimpleStackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
2025-10-05 08:55:18 +08:00
<Image Source="{DynamicResource StrokeSelectionCloneToNewBoardIcon}"
2025-05-25 09:29:48 +08:00
RenderOptions.BitmapScalingMode="HighQuality" Height="25" Width="25" />
<TextBlock Text="克隆至新页" FontSize="8" Foreground="{DynamicResource FloatBarForeground}"
HorizontalAlignment="Center" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
<Border Width="1" Height="45" BorderBrush="{DynamicResource FloatBarForeground}"
Background="{DynamicResource FloatBarForeground}" />
<Border CornerRadius="{Binding ElementName=BorderStrokeSelectionControl, Path=CornerRadius}"
Height="40">
<ikw:SimpleStackPanel VerticalAlignment="Center" Spacing="5" Margin="0,-10">
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="10">
2025-05-25 09:29:48 +08:00
<Image Source="{DynamicResource Rotate45DrawingImage}" Height="22"
MouseDown="Border_MouseDown" MouseUp="ImageRotate45_MouseUp" />
<Image Source="{DynamicResource Rotate90DrawingImage}" Height="22"
MouseDown="Border_MouseDown" MouseUp="ImageRotate90_MouseUp" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
<TextBlock Text="旋转" FontSize="10" HorizontalAlignment="Center"
Foreground="{DynamicResource FloatBarForeground}" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
<Border Width="1" Height="45" BorderBrush="{DynamicResource FloatBarForeground}"
Background="{DynamicResource FloatBarForeground}" />
<Border CornerRadius="{Binding ElementName=BorderStrokeSelectionControl, Path=CornerRadius}"
Height="40">
<ikw:SimpleStackPanel VerticalAlignment="Center" Margin="0,-10">
<ikw:SimpleStackPanel Orientation="Horizontal">
2025-05-25 09:29:48 +08:00
<Image MouseDown="Border_MouseDown" MouseUp="ImageFlipHorizontal_MouseUp"
2025-10-05 08:55:18 +08:00
Source="{DynamicResource StrokeSelectionFlipHorizontalIcon}"
2025-05-25 09:29:48 +08:00
RenderOptions.BitmapScalingMode="HighQuality" Height="30" Width="30" />
<Image MouseDown="Border_MouseDown" MouseUp="ImageFlipVertical_MouseUp"
2025-10-05 08:55:18 +08:00
Source="{DynamicResource StrokeSelectionFlipVerticalIcon}"
2025-05-25 09:29:48 +08:00
RenderOptions.BitmapScalingMode="HighQuality" Height="30" Width="30" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
<TextBlock Text="翻转" FontSize="10" HorizontalAlignment="Center"
Foreground="{DynamicResource FloatBarForeground}" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
<Border Width="1" Height="45" BorderBrush="{DynamicResource FloatBarForeground}"
Background="{DynamicResource FloatBarForeground}" />
<Border CornerRadius="{Binding ElementName=BorderStrokeSelectionControl, Path=CornerRadius}"
Height="40">
<ikw:SimpleStackPanel VerticalAlignment="Center" Spacing="5" Margin="0,-10">
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="5">
2025-05-25 09:29:48 +08:00
<Grid MouseDown="Border_MouseDown" MouseUp="GridPenWidthDecrease_MouseUp">
2025-10-05 08:55:18 +08:00
<Image Source="{DynamicResource StrokeSelectionPenWidthIcon}"
2025-05-25 09:29:48 +08:00
RenderOptions.BitmapScalingMode="HighQuality" Height="25" Width="25" />
<TextBlock Text="-" Foreground="{DynamicResource FloatBarForeground}"
VerticalAlignment="Bottom" HorizontalAlignment="Right"
Margin="0,0,-2,-7" FontSize="15" />
</Grid>
<Grid MouseDown="Border_MouseDown" MouseUp="GridPenWidthIncrease_MouseUp">
2025-10-05 08:55:18 +08:00
<Image Source="{DynamicResource StrokeSelectionPenWidthIcon}"
2025-05-25 09:29:48 +08:00
RenderOptions.BitmapScalingMode="HighQuality" Height="25" Width="25" />
<TextBlock Text="+" Foreground="{DynamicResource FloatBarForeground}"
VerticalAlignment="Bottom" HorizontalAlignment="Right"
Margin="0,0,-3,-4" FontSize="11" />
</Grid>
<Grid MouseDown="Border_MouseDown" MouseUp="GridPenWidthRestore_MouseUp">
2025-10-05 08:55:18 +08:00
<Image Source="{DynamicResource StrokeSelectionPenWidthIcon}"
2025-05-25 09:29:48 +08:00
RenderOptions.BitmapScalingMode="HighQuality" Height="25" Width="25" />
<Image Source="{DynamicResource AndroidRefreshDrawingImage}"
VerticalAlignment="Bottom" HorizontalAlignment="Right"
Margin="0,0,-2,-2" Width="8" />
</Grid>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
<TextBlock Text="画笔粗细" FontSize="10" HorizontalAlignment="Center"
Foreground="{DynamicResource FloatBarForeground}" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
<Border Width="1" Height="45" BorderBrush="{DynamicResource FloatBarForeground}"
Background="{DynamicResource FloatBarForeground}" />
<Border Margin="-8,0,0,0"
CornerRadius="{Binding ElementName=BorderStrokeSelectionControl, Path=CornerRadius}"
Width="40" MouseDown="Border_MouseDown" MouseUp="BorderStrokeSelectionDelete_MouseUp">
<ikw:SimpleStackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
2025-10-05 08:55:18 +08:00
<Image Source="{DynamicResource StrokeSelectionDeleteIcon}"
2025-05-25 09:29:48 +08:00
RenderOptions.BitmapScalingMode="HighQuality" Height="25" Width="25" />
<TextBlock Margin="0,5,0,0" Text="删除" FontSize="10"
Foreground="{DynamicResource FloatBarForeground}"
HorizontalAlignment="Center" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Viewbox>
</Border>
2025-07-28 19:02:45 +08:00
2025-08-31 00:39:40 +08:00
<!-- 图片选择工具栏 -->
<Border Name="BorderImageSelectionControl"
HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0"
CornerRadius="5" Height="80"
Background="{DynamicResource FloatBarBackground}"
Visibility="Collapsed"
BorderThickness="1" BorderBrush="{DynamicResource FloatBarBorderBrush}">
<Viewbox Margin="0,-2.5">
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="10" Height="60">
2025-08-31 00:39:40 +08:00
<Border Name="BorderImageClone" Margin="0,2,-9,2" Background="Transparent"
CornerRadius="{Binding ElementName=BorderImageSelectionControl, Path=CornerRadius}"
Width="40" MouseDown="Border_MouseDown" MouseUp="BorderImageClone_MouseUp">
<ikw:SimpleStackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
2025-10-05 09:14:29 +08:00
<Image Source="{DynamicResource ImageSelectionCloneIcon}"
2025-08-31 00:39:40 +08:00
RenderOptions.BitmapScalingMode="HighQuality" Height="25" Width="25" />
<TextBlock Text="克隆" FontSize="10" Foreground="{DynamicResource FloatBarForeground}"
HorizontalAlignment="Center" />
</ikw:SimpleStackPanel>
2025-08-31 00:39:40 +08:00
</Border>
<Border Name="BorderImageCloneToNewBoard"
Margin="0,2,-9,2"
Background="Transparent"
CornerRadius="{Binding ElementName=BorderImageSelectionControl, Path=CornerRadius}"
Width="40"
MouseDown="Border_MouseDown"
MouseUp="BorderImageCloneToNewBoard_MouseUp"
Visibility="{Binding Visibility, ElementName=GridBackgroundCover}">
<ikw:SimpleStackPanel VerticalAlignment="Center"
2025-08-31 00:39:40 +08:00
HorizontalAlignment="Center">
2025-10-05 09:14:29 +08:00
<Image Source="{DynamicResource ImageSelectionCloneToNewBoardIcon}"
2025-08-31 00:39:40 +08:00
RenderOptions.BitmapScalingMode="HighQuality"
Height="25"
Width="25" />
<TextBlock Text="克隆至新页"
FontSize="8"
Foreground="{DynamicResource FloatBarForeground}"
HorizontalAlignment="Center" />
</ikw:SimpleStackPanel>
2025-08-31 00:39:40 +08:00
</Border>
<Border Width="1"
Height="45"
BorderBrush="{DynamicResource FloatBarForeground}"
Background="{DynamicResource FloatBarForeground}" />
<Border CornerRadius="{Binding ElementName=BorderImageSelectionControl, Path=CornerRadius}"
Height="40">
<ikw:SimpleStackPanel VerticalAlignment="Center"
2025-08-31 00:39:40 +08:00
Spacing="5"
Margin="0,-10">
<ikw:SimpleStackPanel Orientation="Horizontal"
2025-08-31 00:39:40 +08:00
Spacing="10">
<Image Source="{DynamicResource Rotate45DrawingImage}"
Height="22"
MouseDown="Border_MouseDown"
MouseUp="BorderImageRotateLeft_MouseUp" />
<Image Source="{DynamicResource Rotate90DrawingImage}"
Height="22"
MouseDown="Border_MouseDown"
MouseUp="BorderImageRotateRight_MouseUp" />
</ikw:SimpleStackPanel>
2025-08-31 00:39:40 +08:00
<TextBlock Text="旋转"
FontSize="10"
HorizontalAlignment="Center"
Foreground="{DynamicResource FloatBarForeground}" />
</ikw:SimpleStackPanel>
2025-08-31 00:39:40 +08:00
</Border>
<Border Width="1" Height="45" BorderBrush="{DynamicResource FloatBarForeground}"
Background="{DynamicResource FloatBarForeground}" />
<Border CornerRadius="{Binding ElementName=BorderImageSelectionControl, Path=CornerRadius}"
Height="40">
<ikw:SimpleStackPanel VerticalAlignment="Center" Spacing="5" Margin="0,-10">
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="10">
2025-08-31 00:39:40 +08:00
<Grid MouseDown="Border_MouseDown" MouseUp="GridImageScaleDecrease_MouseUp">
2025-10-05 09:14:29 +08:00
<Image Source="{DynamicResource ImageSelectionScaleIcon1}"
2025-08-31 00:39:40 +08:00
RenderOptions.BitmapScalingMode="HighQuality" Height="25" Width="25" />
<TextBlock Text="-" Foreground="{DynamicResource FloatBarForeground}"
VerticalAlignment="Bottom" HorizontalAlignment="Right"
Margin="0,0,-2,-7" FontSize="15" />
</Grid>
<Grid MouseDown="Border_MouseDown" MouseUp="GridImageScaleIncrease_MouseUp">
2025-10-05 09:14:29 +08:00
<Image Source="{DynamicResource ImageSelectionScaleIcon2}"
2025-08-31 00:39:40 +08:00
RenderOptions.BitmapScalingMode="HighQuality" Height="25" Width="25" />
<TextBlock Text="+" Foreground="{DynamicResource FloatBarForeground}"
VerticalAlignment="Bottom" HorizontalAlignment="Right"
Margin="0,0,-3,-4" FontSize="11" />
</Grid>
</ikw:SimpleStackPanel>
2025-08-31 00:39:40 +08:00
<TextBlock Text="缩放" FontSize="10" HorizontalAlignment="Center"
Foreground="{DynamicResource FloatBarForeground}" />
</ikw:SimpleStackPanel>
2025-08-31 00:39:40 +08:00
</Border>
<Border Width="1" Height="45" BorderBrush="{DynamicResource FloatBarForeground}"
Background="{DynamicResource FloatBarForeground}" />
<Border Margin="-8,0,0,0"
CornerRadius="{Binding ElementName=BorderImageSelectionControl, Path=CornerRadius}"
Width="40" MouseDown="Border_MouseDown" MouseUp="BorderImageDelete_MouseUp">
<ikw:SimpleStackPanel VerticalAlignment="Center" HorizontalAlignment="Center">
2025-10-05 09:14:29 +08:00
<Image Source="{DynamicResource ImageSelectionDeleteIcon}"
2025-08-31 00:39:40 +08:00
RenderOptions.BitmapScalingMode="HighQuality" Height="25" Width="25" />
<TextBlock Margin="0,5,0,0" Text="删除" FontSize="10"
Foreground="{DynamicResource FloatBarForeground}"
HorizontalAlignment="Center" />
</ikw:SimpleStackPanel>
2025-08-31 00:39:40 +08:00
</Border>
</ikw:SimpleStackPanel>
2025-08-31 00:39:40 +08:00
</Viewbox>
</Border>
2025-08-30 21:18:34 +08:00
2026-04-05 17:31:35 +08:00
<Border Name="BorderPdfPageSidebar"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Margin="0,0,0,0"
2026-04-05 19:23:00 +08:00
Width="64"
CornerRadius="8"
2026-04-05 17:31:35 +08:00
Background="{DynamicResource FloatBarBackground}"
2026-04-05 19:23:00 +08:00
BorderBrush="#33FFFFFF"
2026-04-05 17:31:35 +08:00
BorderThickness="1"
SnapsToDevicePixels="True"
Visibility="Collapsed"
2026-04-05 19:23:00 +08:00
Panel.ZIndex="1001"
ui:ThemeManager.RequestedTheme="Dark">
<Border.Effect>
<DropShadowEffect BlurRadius="24"
ShadowDepth="3"
Direction="270"
Opacity="0.45"
Color="#000000" />
</Border.Effect>
2026-04-05 17:31:35 +08:00
<Border.Resources>
<Style x:Key="PdfSidebarNavButtonStyle" TargetType="Border">
2026-04-05 19:23:00 +08:00
<Setter Property="Width" Value="40" />
<Setter Property="Height" Value="36" />
<Setter Property="CornerRadius" Value="4" />
<Setter Property="BorderThickness" Value="0" />
2026-04-05 17:31:35 +08:00
<Setter Property="Cursor" Value="Hand" />
<Setter Property="SnapsToDevicePixels" Value="True" />
2026-04-05 19:23:00 +08:00
<Setter Property="Background" Value="Transparent" />
2026-04-05 17:31:35 +08:00
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background">
<Setter.Value>
2026-04-05 19:23:00 +08:00
<SolidColorBrush Color="#FFFFFF" Opacity="0.08" />
2026-04-05 17:31:35 +08:00
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</Border.Resources>
<Grid>
<ikw:SimpleStackPanel VerticalAlignment="Center"
HorizontalAlignment="Center"
2026-04-05 19:23:00 +08:00
Spacing="8"
Margin="0,10,0,10">
2026-04-05 17:31:35 +08:00
<TextBlock Text="PDF"
2026-04-05 19:23:00 +08:00
FontSize="10"
2026-04-05 17:31:35 +08:00
FontWeight="SemiBold"
HorizontalAlignment="Center"
Foreground="{DynamicResource FloatBarForeground}"
2026-04-05 19:23:00 +08:00
Opacity="0.78" />
<Border CornerRadius="4"
Padding="8,6"
BorderThickness="0"
SnapsToDevicePixels="True"
Background="#14FFFFFF">
2026-04-05 17:31:35 +08:00
<TextBlock Name="TextBlockPdfSidebarPageLabel"
Text="— / —"
FontSize="12"
FontWeight="SemiBold"
VerticalAlignment="Center"
HorizontalAlignment="Center"
TextAlignment="Center"
Foreground="{DynamicResource FloatBarForeground}"
Opacity="0.55" />
</Border>
<Border Name="BorderPdfSidebarPagePrev"
Style="{StaticResource PdfSidebarNavButtonStyle}"
Opacity="0.35"
IsHitTestVisible="False"
2026-04-05 19:23:00 +08:00
ToolTip="上一页"
2026-04-05 17:31:35 +08:00
MouseDown="Border_MouseDown"
MouseUp="BorderPdfSidebarPagePrev_MouseUp">
2026-04-05 19:23:00 +08:00
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.ChevronLeft}"
FontSize="14"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Foreground="{DynamicResource FloatBarForeground}" />
2026-04-05 17:31:35 +08:00
</Border>
<Border Name="BorderPdfSidebarPageNext"
Style="{StaticResource PdfSidebarNavButtonStyle}"
Opacity="0.35"
IsHitTestVisible="False"
2026-04-05 19:23:00 +08:00
ToolTip="下一页"
2026-04-05 17:31:35 +08:00
MouseDown="Border_MouseDown"
MouseUp="BorderPdfSidebarPageNext_MouseUp">
2026-04-05 19:23:00 +08:00
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.ChevronRight}"
FontSize="14"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Foreground="{DynamicResource FloatBarForeground}" />
2026-04-05 17:31:35 +08:00
</Border>
<TextBlock Text="翻页"
FontSize="9"
HorizontalAlignment="Center"
Foreground="{DynamicResource FloatBarForeground}"
2026-04-05 19:23:00 +08:00
Opacity="0.55" />
2026-04-05 17:31:35 +08:00
</ikw:SimpleStackPanel>
</Grid>
</Border>
<!-- 图片选择覆盖层(缩放/移动/旋转) -->
2026-05-02 09:17:15 +08:00
<localControls:ImageSelectionOverlay x:Name="ImageSelectionOverlay"
Visibility="Collapsed"
Panel.ZIndex="1000" />
2025-09-20 21:33:21 +08:00
2025-05-25 09:29:48 +08:00
</Grid>
<Grid Visibility="Collapsed">
<Grid Visibility="{Binding ElementName=GridBackgroundCoverHolder, Path=Visibility}">
<Viewbox Margin="10" Height="50" HorizontalAlignment="Right" VerticalAlignment="Bottom">
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="5">
2025-05-25 09:29:48 +08:00
<Border Width="36" Height="36" CornerRadius="5"
Background="{DynamicResource FloatBarBackground}" BorderThickness="1"
BorderBrush="{DynamicResource FloatBarBorderBrush}">
<Grid Margin="6" MouseUp="GridPPTControlPrevious_MouseUp">
<Image
Source="{DynamicResource ResourceKey=SeewoImageSource.HorizontalPreviousSlideNormal}" />
</Grid>
</Border>
<Border Visibility="{Binding ElementName=PptNavigationBtn, Path=Visibility}" Width="36"
Height="36" CornerRadius="5" Background="{DynamicResource FloatBarBackground}"
BorderThickness="1" BorderBrush="{DynamicResource FloatBarBorderBrush}">
<Grid MouseUp="PPTNavigationBtn_MouseUp">
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center"
Foreground="{Binding ElementName=PptNavigationTextBlock, Path=Foreground}"
FontSize="{Binding ElementName=PptNavigationTextBlock, Path=FontSize}"
Text="{Binding ElementName=PptNavigationTextBlock, Path=Text}" />
</Grid>
</Border>
<Border Width="36" Height="36" CornerRadius="5"
Background="{DynamicResource FloatBarBackground}" BorderThickness="1"
BorderBrush="{DynamicResource FloatBarBorderBrush}">
<Grid Margin="6" MouseUp="GridPPTControlNext_MouseUp">
<Image
Source="{DynamicResource ResourceKey=SeewoImageSource.HorizontalNextSlideNormal}" />
</Grid>
</Border>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Viewbox>
</Grid>
</Grid>
<!--// BlackBoard 界面 //-->
<Grid Name="BlackboardUIGridForInkReplay">
<Grid Visibility="{Binding ElementName=GridBackgroundCoverHolder, Path=Visibility}">
<!-- 左下角 -->
<Viewbox x:Name="ViewboxBlackboardLeftSide" Margin="3,0,0,0" Height="55" HorizontalAlignment="Left"
VerticalAlignment="Bottom">
<Grid Name="BlackboardLeftSide" Visibility="Visible" Margin="0,0,0,3" Height="50"
HorizontalAlignment="Center" VerticalAlignment="Bottom">
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="5">
2025-09-21 01:06:42 +08:00
<Border CornerRadius="5,5,5,5" Background="{DynamicResource BoardFloatBarBackground}" Margin="0,0,0,0">
<ikw:SimpleStackPanel Orientation="Horizontal">
2026-04-17 06:39:27 +08:00
<controls:BoardToolbarButton x:Name="BtnLeftWhiteBoardSwitchPrevious"
Position="First"
Label="上一页"
IconGeometry="F1 M24,24z M0,0z M7.40091,10.456L14.5033,3.35357 12.3198,1.17001 1.48978,12 12.3198,22.83 14.5033,20.6465 7.40089,13.544 22.5102,13.544 22.5102,10.456 7.40091,10.456z"
IsEnabledBinding="{Binding ElementName=BtnWhiteBoardSwitchPrevious, Path=IsEnabled}"
2026-04-17 09:26:29 +08:00
ButtonMouseUp="BoardBtnWhiteBoardSwitchPrevious_MouseUp" />
2025-05-25 09:29:48 +08:00
<Border Width="75" Height="50" MouseUp="BtnWhiteBoardPageIndex_Click"
Name="BtnLeftPageListWB"
2025-09-21 01:06:42 +08:00
BorderThickness="1,1,1,1" BorderBrush="{DynamicResource BoardFloatBarBorderBrush}" Background="{DynamicResource BoardFloatBarBackground}"
2026-01-18 04:05:55 +08:00
Opacity="1">
2025-05-25 09:29:48 +08:00
<Grid Margin="6,6,6,4">
<TextBlock HorizontalAlignment="Center"
Text="{Binding ElementName=TextBlockWhiteBoardIndexInfo, Path=Text}"
Margin="0,-1,0,0" FontSize="17" FontWeight="Bold"
TextAlignment="Center" />
2025-09-21 00:25:09 +08:00
<TextBlock Text="页面" Foreground="{DynamicResource FloatBarForeground}" VerticalAlignment="Bottom"
2025-05-25 09:29:48 +08:00
HorizontalAlignment="Center" FontSize="12" />
</Grid>
</Border>
<Grid Width="0" Margin="0,0,0,5">
<Border ClipToBounds="True" Name="BoardBorderLeftPageListView"
Margin="-134,-465,-60,50"
CornerRadius="8"
2025-09-21 01:35:13 +08:00
Background="{DynamicResource FloatBarBackground}" Opacity="1" BorderBrush="{DynamicResource BoardFloatBarBorderBrush}"
2025-05-25 09:29:48 +08:00
BorderThickness="1">
<ui:ScrollViewerEx Name="BlackBoardLeftSidePageListScrollViewer"
Height="460"
VerticalScrollBarVisibility="Hidden"
2025-07-21 10:14:21 +08:00
ForceUseSmoothScroll="True"
PanningMode="VerticalOnly"
IsManipulationEnabled="True">
2025-05-25 09:29:48 +08:00
<ListView ScrollViewer.CanContentScroll="False" SelectionMode="Single"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
Name="BlackBoardLeftSidePageListView">
<ListView.ItemTemplate>
<DataTemplate>
<ikw:SimpleStackPanel Orientation="Vertical"
2025-05-25 09:29:48 +08:00
MouseUp="BlackBoardLeftSidePageListView_OnMouseUp">
2025-09-21 01:06:42 +08:00
<Border Margin="0,4" Width="160" BorderBrush="{DynamicResource BoardFloatBarBorderBrush}"
2025-05-25 09:29:48 +08:00
BorderThickness="1">
<Grid>
2026-02-23 13:20:52 +08:00
<Viewbox Width="160" Height="120" Stretch="Uniform">
2025-05-25 09:29:48 +08:00
<InkCanvas EditingMode="None"
Background="{Binding ElementName=GridBackgroundCover, Path=Background}"
Strokes="{Binding Strokes}"
Width="{Binding ElementName=inkCanvas, Path=ActualWidth}"
Height="{Binding ElementName=inkCanvas, Path=ActualHeight}">
</InkCanvas>
</Viewbox>
<Border Margin="4" Width="36" Height="20"
CornerRadius="3" HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="#cc09090b">
<TextBlock FontSize="14"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="Consolas"
Foreground="White"
Text="{Binding Index}">
</TextBlock>
</Border>
2026-02-22 12:23:13 +08:00
<Button Width="24" Height="24" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="4"
ToolTip="删除此页"
Click="WhiteBoardPageListItem_DeleteClick"
Background="#CC000000" Foreground="White"
BorderThickness="0" Padding="0" Cursor="Hand">
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Delete}" />
2026-02-22 12:23:13 +08:00
</Button>
2025-05-25 09:29:48 +08:00
</Grid>
</Border>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ui:ScrollViewerEx>
</Border>
</Grid>
2026-04-17 06:39:27 +08:00
<controls:BoardToolbarButton x:Name="BtnLeftWhiteBoardSwitchNext"
Position="Last"
Label="下一页"
IconGeometry="F1 M24,24z M0,0z M16.5991,10.456L9.49667,3.35357 11.6802,1.17001 22.5102,12 11.6802,22.83 9.49667,20.6465 16.5991,13.544 1.48978,13.544 1.48978,10.456 16.5991,10.456z"
IsEnabledBinding="{Binding ElementName=BtnWhiteBoardSwitchNext, Path=IsEnabled}"
2026-04-17 09:26:29 +08:00
ButtonMouseUp="BoardBtnWhiteBoardSwitchNext_MouseUp" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
<Border Width="60" Height="50"
2026-02-20 12:00:22 +08:00
BorderThickness="1"
BorderBrush="{DynamicResource BoardFloatBarBorderBrush}"
2026-02-19 18:18:47 +08:00
MouseUp="BtnToggleVideoPresenter_Click"
CornerRadius="5"
Background="{DynamicResource BoardFloatBarBackground}"
2026-01-18 04:05:55 +08:00
Opacity="1">
2025-05-25 09:29:48 +08:00
<Grid Margin="6,6,6,4">
2026-02-20 12:00:22 +08:00
<Path
2026-02-19 18:18:47 +08:00
VerticalAlignment="Top"
2026-02-20 12:00:22 +08:00
HorizontalAlignment="Center"
Margin="0,0,0,2"
Width="22"
Height="22"
Stroke="{DynamicResource IconForeground}"
StrokeThickness="2"
StrokeStartLineCap="Round"
StrokeEndLineCap="Round"
StrokeLineJoin="Round"
Data="M15 10 L19.553 7.724 C19.7054 7.64783 19.8748 7.61188 20.045 7.61954 C20.2152 7.62721 20.3806 7.67824 20.5256 7.7678 C20.6706 7.85736 20.7902 7.98247 20.8733 8.13127 C20.9563 8.28006 20.9999 8.44761 21 8.618 V15.382 C20.9999 15.5524 20.9563 15.7199 20.8733 15.8687 C20.7902 16.0175 20.6706 16.1426 20.5256 16.2322 C20.3806 16.3218 20.2152 16.3728 20.045 16.3805 C19.8748 16.3881 19.7054 16.3522 19.553 16.276 L15 14 Z M3 8 C3 7.46957 3.21071 6.96086 3.58579 6.58579 C3.96086 6.21071 4.46957 6 5 6 H13 C13.5304 6 14.0391 6.21071 14.4142 6.58579 C14.7893 6.96086 15 7.46957 15 8 V16 C15 16.5304 14.7893 17.0391 14.4142 17.4142 C14.0391 17.7893 13.5304 18 13 18 H5 C4.46957 18 3.96086 17.7893 3.58579 17.4142 C3.21071 17.0391 3 16.5304 3 16 Z" />
2026-02-19 18:18:47 +08:00
<TextBlock
2026-03-03 15:18:31 +08:00
Text="{i18n:I18n Key=Booth_Title}"
2026-02-19 18:18:47 +08:00
Foreground="{DynamicResource FloatBarForeground}"
VerticalAlignment="Bottom"
HorizontalAlignment="Center"
FontSize="12" />
2025-05-25 09:29:48 +08:00
</Grid>
</Border>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Grid>
</Viewbox>
<!-- 中间 -->
<Viewbox Margin="3,0,0,0" Height="56" HorizontalAlignment="Center"
VerticalAlignment="Bottom">
<Viewbox.LayoutTransform>
<ScaleTransform x:Name="ViewboxBlackboardCenterSideScaleTransform" ScaleX="1" ScaleY="1" />
</Viewbox.LayoutTransform>
<Grid x:Name="BlackboardCenterSide" Visibility="Visible" Margin="0,0,0,3" Height="50"
HorizontalAlignment="Center" VerticalAlignment="Bottom">
<ikw:SimpleStackPanel Orientation="Horizontal">
2025-09-21 01:06:42 +08:00
<Border CornerRadius="5,5,5,5" Background="{DynamicResource BoardFloatBarBackground}" Margin="0,0,5,0">
<ikw:SimpleStackPanel Orientation="Horizontal">
2026-04-17 01:43:18 +08:00
<controls:BoardToolbarButton x:Name="BoardGesture"
Position="First"
Label="{i18n:I18n Key=Board_Gesture}"
IconGeometry="F0 M24,24z M0,0z M7.82154,10.0753L7.82154,3.74613C7.82154,3.06603 8.08946,2.40655 8.57377,1.92224 9.05808,1.43793 9.70726,1.17001 10.3977,1.17001 11.0881,1.17001 11.7372,1.43793 12.2216,1.92224 12.7059,2.40655 12.9738,3.05573 12.9738,3.74613L12.9738,6.37308C13.1415,6.33947 13.3139,6.32225 13.489,6.32225 14.1794,6.32225 14.8286,6.59016 15.3129,7.07447 15.4484,7.21001 15.567,7.35845 15.6675,7.5171 15.9551,7.40916 16.2634,7.35269 16.5803,7.35269 17.2707,7.35269 17.9199,7.62061 18.4042,8.10492 18.5461,8.24683 18.6695,8.4029 18.7729,8.57001 19.6856,8.26338 20.7674,8.45871 21.4647,9.15599 21.949,9.6403 22.2169,10.2998 22.2169,10.9799L22.2169,15.6169C22.2169,17.5438 21.4647,19.3574 20.1045,20.7176 18.7443,22.0778 16.9307,22.83 15.0038,22.83L13.149,22.83 13.1799,22.8094 12.8398,22.8094C11.7682,22.7579 10.7068,22.4694 9.75878,21.9541 8.70773,21.3874 7.81124,20.563 7.15175,19.5738L6.94566,19.2647C6.60562,18.7494 5.49273,16.8019 3.52458,13.3087 3.19484,12.7213 3.1021,12.0412 3.27727,11.3818 3.45245,10.7326 3.86463,10.1761 4.44168,9.83608 5.00842,9.49604 5.66791,9.35177 6.31709,9.43421 6.86548,9.50385 7.39181,9.7279 7.82154,10.0753z M10.037,3.38547C10.1297,3.28243 10.2637,3.23091 10.3977,3.23091 10.5316,3.23091 10.6656,3.29273 10.7583,3.38547 10.8614,3.47821 10.9129,3.61217 10.9129,3.74613L10.9129,11.4745C10.9129,12.0412 11.3766,12.5049 11.9433,12.5049 12.5101,12.5049 12.9738,12.0412 12.9738,11.4745L12.9738,8.89836C12.9738,8.7644 13.0356,8.63045 13.1283,8.53771 13.2211,8.43466 13.355,8.38314 13.489,8.38314 13.623,8.38314 13.7569,8.44497 13.8497,8.53771 13.9527,8.63045 14.0042,8.7644 14.0042,8.89836L14.0042,11.4745C14.0042,12.0412 14.4679,12.5049 15.0347,12.5049 15.6014,12.5049 16.0651,12.0412 16.0651,11.4745L16.0651,9.92881C16.0651,9.79485 16.1269,9.66089 16.2197,9.56815 16.3124,9.46511 16.4464,9.41359 16.5803,9.41359 16.7143,9.41359 16.8483,9.47541 16.941,9.56815 17.044,9.66089 17.0956,9.79485 17.0956,9.92881L17.0956,10.5869C17.0752,10.7163 17.0646,10.8477 17.0646,10.9799 17.0646,11.0661 17.0754,11.1499 17.0956,11.2301L17.0956,11.4745C17.0956,12.0412 17.5593,12.5049 18.126,12.5049 18.6928,12.5049 19.1565,12.0412 19.1565,11.4745L19.1565,10.8128C19.1834,10.7399 19.2266,10.6727 19.2801,10.6192 19.4759,10.4234 19.8159,10.4234 20.0117,10.6192 20.1148,10.712 20.1663,10.8459 20.1663,10.9799L20.1663,15.6169C20.1663,16.9977 19.6408,18.296 18.6618,19.2647 17.6829,20.2333 16.3949,20.7691 15.0141,20.7691L13.1593,20.7691C12.3143,20.7691 11.4796,20.5527 10.7274,20.1509 9.98548,19.749 9.3363,19.1616 8.8726,18.4506L8.66651,18.1415C8.35737,17.6675 7.23419,15.7096 5.31756,12.2988 5.24543,12.1752 5.23512,12.0412 5.26604,11.9073 5.30725,11.7733 5.38969,11.6703 5.50304,11.5981 5.66791,11.4951 5.874,11.4539 6.06978,11.4745 6.26557,11.5054 6.45105,11.5878 6.59531,11.7321L8.11007,13.2469C8.49419,13.631 9.10425,13.648 9.50833,13.2978 9.73651,13.1084 9.88244,12.8229 9.88244,12.5049L9.88244,3.74613C9.88244,3.61217,9.94426,3.47821,10.037,3.38547z M2.99905,6.31195L1.78313,4.65293 2.61779,4.04497C3.46275,3.4267,4.37985,2.89087,5.33817,2.46838L6.27587,2.0459 7.12084,3.93162 6.18313,4.3541C5.35878,4.72506,4.56533,5.17846,3.83372,5.71429L2.99905,6.32225 2.99905,6.31195z M18.2806,5.20935L19.1565,5.75549 20.259,4.01404 19.3831,3.4679C18.1157,2.67446,16.7452,2.0768,15.3026,1.68523L14.303,1.41731 13.7672,3.40607 14.7667,3.67399C16.0033,4.00373,17.1883,4.51895,18.2806,5.20935z"
ButtonMouseUp="TwoFingerGestureBorder_MouseUp" />
2026-05-01 16:57:21 +08:00
<Border>
<Grid Width="0" Margin="0,0,0,5" RenderTransformOrigin="0,1">
<Border ClipToBounds="True" x:Name="BoardTwoFingerGestureBorder"
Visibility="Collapsed"
Margin="-115,-161,-55,50"
CornerRadius="8"
Background="{DynamicResource FloatBarBackground}" Opacity="1" BorderBrush="#2563eb"
BorderThickness="1">
<ikw:SimpleStackPanel Margin="0">
<Border BorderBrush="#1e3a8a" BorderThickness="0,0,0,1"
CornerRadius="8,8,0,0"
Background="#2563eb" Margin="-1,-1,-1,1">
<Grid Height="24">
<TextBlock Text="{i18n:I18n Key=Board_GestureOptions}" Margin="8,0,0,0" Foreground="White"
VerticalAlignment="Center" HorizontalAlignment="Left"
FontSize="11" FontWeight="Bold" />
<Image Margin="0,0,8,0"
Source="/Resources/new-icons/close-white.png"
RenderOptions.BitmapScalingMode="HighQuality"
Height="16" Width="16"
HorizontalAlignment="Right" VerticalAlignment="Center"
MouseDown="Border_MouseDown"
MouseUp="CloseBordertools_MouseUp" />
</Grid>
</Border>
<Viewbox Margin="8,0,8,0">
<ikw:SimpleStackPanel Margin="0">
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="2"
2026-01-18 04:05:55 +08:00
VerticalAlignment="Center"
HorizontalAlignment="Center"
Margin="0,3,0,0">
<Image Source="{DynamicResource MultiTouchIcon}"
RenderOptions.BitmapScalingMode="HighQuality"
Height="16"
Width="16" />
2026-04-04 23:34:26 +08:00
<Label Content="{i18n:I18n Key=Board_MultiTouchWriting}" FontSize="10"
VerticalAlignment="Center" Width="62"
Style="{StaticResource AutoFitBoardGestureOptionLabel10}" />
<Viewbox Width="36" Height="20" Margin="2,0,0,0">
2026-01-18 04:05:55 +08:00
<ui:ToggleSwitch MinWidth="0" Margin="0,-6,0,-6"
x:Name="BoardToggleSwitchEnableMultiTouchMode"
2026-01-18 04:05:55 +08:00
IsOn="False"
OnContent=""
OffContent=""
Toggled="ToggleSwitchEnableMultiTouchMode_Toggled"
RenderTransformOrigin="0.5,0.5">
<ui:ToggleSwitch.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform />
<TranslateTransform X="8" />
</TransformGroup>
</ui:ToggleSwitch.RenderTransform>
</ui:ToggleSwitch>
</Viewbox>
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel
2026-01-18 04:05:55 +08:00
Opacity="{Binding Opacity, ElementName=TwoFingerGestureSimpleStackPanel}"
2026-03-04 11:42:22 +08:00
Orientation="Horizontal" Spacing="2"
2026-01-18 04:05:55 +08:00
VerticalAlignment="Center"
HorizontalAlignment="Center">
<Image Source="{DynamicResource HandMoveIcon}"
RenderOptions.BitmapScalingMode="HighQuality"
Height="16"
Width="16" />
2026-04-04 23:34:26 +08:00
<Label Content="{i18n:I18n Key=Board_TwoFingerMove}" FontSize="10"
VerticalAlignment="Center" Width="62"
Style="{StaticResource AutoFitBoardGestureOptionLabel10}" />
<Viewbox Width="36" Height="20" Margin="2,0,0,0">
2026-01-18 04:05:55 +08:00
<ui:ToggleSwitch MinWidth="0" Margin="0,-6,0,-6"
x:Name="BoardToggleSwitchEnableTwoFingerTranslate"
2026-01-18 04:05:55 +08:00
IsOn="False"
OnContent=""
OffContent=""
Toggled="ToggleSwitchEnableTwoFingerTranslate_Toggled"
RenderTransformOrigin="0.5,0.5">
<ui:ToggleSwitch.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform />
<TranslateTransform X="8" />
</TransformGroup>
</ui:ToggleSwitch.RenderTransform>
</ui:ToggleSwitch>
</Viewbox>
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel
2026-01-18 04:05:55 +08:00
Opacity="{Binding Opacity, ElementName=TwoFingerGestureSimpleStackPanel}"
2026-03-04 11:42:22 +08:00
Orientation="Horizontal" Spacing="2"
2026-01-18 04:05:55 +08:00
VerticalAlignment="Center"
HorizontalAlignment="Center">
<Image Source="{DynamicResource ZoomIcon}"
RenderOptions.BitmapScalingMode="HighQuality"
Height="16"
Width="16" />
2026-04-04 23:34:26 +08:00
<Label Content="{i18n:I18n Key=Board_TwoFingerZoom}" FontSize="10"
VerticalAlignment="Center" Width="62"
Style="{StaticResource AutoFitBoardGestureOptionLabel10}" />
<Viewbox Width="36" Height="20" Margin="2,0,0,0">
2026-01-18 04:05:55 +08:00
<ui:ToggleSwitch MinWidth="0" Margin="0,-6,0,-6"
2026-01-18 04:05:55 +08:00
IsOn="False" OnContent="" OffContent=""
x:Name="BoardToggleSwitchEnableTwoFingerZoom"
Toggled="ToggleSwitchEnableTwoFingerZoom_Toggled"
RenderTransformOrigin="0.5,0.5">
<ui:ToggleSwitch.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform />
<TranslateTransform X="8" />
</TransformGroup>
</ui:ToggleSwitch.RenderTransform>
</ui:ToggleSwitch>
</Viewbox>
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel
2026-01-18 04:05:55 +08:00
Opacity="{Binding Opacity, ElementName=TwoFingerGestureSimpleStackPanel}"
2026-03-04 11:42:22 +08:00
Orientation="Horizontal" Spacing="2"
2026-01-18 04:05:55 +08:00
VerticalAlignment="Center"
HorizontalAlignment="Center">
<Image Source="{DynamicResource RotateIcon}"
RenderOptions.BitmapScalingMode="HighQuality"
Height="16"
Width="16" />
2026-04-04 23:34:26 +08:00
<Label Content="{i18n:I18n Key=Board_TwoFingerRotate}" FontSize="10"
VerticalAlignment="Center" Width="62"
Style="{StaticResource AutoFitBoardGestureOptionLabel10}" />
<Viewbox Width="36" Height="20" Margin="2,0,0,0">
2026-01-18 04:05:55 +08:00
<ui:ToggleSwitch MinWidth="0" Margin="0,-6,0,-6"
2026-01-18 04:05:55 +08:00
IsOn="False" OnContent="" OffContent=""
x:Name="BoardToggleSwitchEnableTwoFingerRotation"
Toggled="ToggleSwitchEnableTwoFingerRotation_Toggled"
RenderTransformOrigin="0.5,0.5">
<ui:ToggleSwitch.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform />
<TranslateTransform X="8" />
</TransformGroup>
</ui:ToggleSwitch.RenderTransform>
</ui:ToggleSwitch>
</Viewbox>
2025-05-25 09:29:48 +08:00
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
2026-01-18 04:05:55 +08:00
</Viewbox>
2026-05-01 16:57:21 +08:00
</ikw:SimpleStackPanel>
</Border>
</Grid>
</Border>
2026-04-15 14:15:05 +08:00
<controls:BoardToolbarButton x:Name="BoardChangeBackgroundColorBtn"
Position="Last"
Label="{i18n:I18n Key=Board_Background}"
IconGeometry="F0 M24,24z M0,0z M4.71815,3.98345C6.64142,2.23541 9.19629,1.17001 12,1.17001 17.9812,1.17001 22.83,6.01877 22.83,12 22.83,17.9813 17.9812,22.83 12,22.83 11.6262,22.83 11.2568,22.8111 10.8927,22.7741 5.8167,22.2586 1.77699,18.2377 1.2325,13.1703 1.22536,13.1039 1.21882,13.0373 1.21289,12.9705 1.20871,12.9234 1.20483,12.8762 1.20125,12.8289 1.18054,12.5553 1.17,12.2789 1.17,12 1.17,9.41057 2.07878,7.03339 3.59479,5.17001 3.9391,4.74681 4.31473,4.35011 4.71815,3.98345z M12,20.83C16.8767,20.83 20.83,16.8767 20.83,12 20.83,7.12334 16.8767,3.17001 12,3.17001L12,20.83z"
ButtonMouseUp="BoardChangeBackgroundColorBtn_MouseUp" />
2026-05-01 23:03:20 +08:00
<Border>
<Grid Width="0" Margin="0,0,0,5" RenderTransformOrigin="0,1">
<Border ClipToBounds="True" x:Name="BackgroundPalette"
Visibility="Collapsed" d:Visibility="Visible"
Margin="-189,-360,-55,50"
CornerRadius="8"
Background="{DynamicResource SettingsPageBackground}" Opacity="1" BorderBrush="#2563eb"
BorderThickness="1">
<ikw:SimpleStackPanel Margin="0">
<Border BorderBrush="#1e3a8a" BorderThickness="0,0,0,1"
CornerRadius="8,8,0,0"
Background="#2563eb" Margin="-1,-1,-1,1">
<Grid Height="24">
<TextBlock Text="背景设置" Margin="8,0,0,0" Foreground="White"
VerticalAlignment="Center" HorizontalAlignment="Left"
FontSize="11" FontWeight="Bold" />
<Image Margin="0,0,8,0"
Source="/Resources/new-icons/close-white.png"
RenderOptions.BitmapScalingMode="HighQuality"
Height="16" Width="16"
HorizontalAlignment="Right" VerticalAlignment="Center"
MouseDown="Border_MouseDown"
MouseUp="CloseBordertools_MouseUp" />
</Grid>
</Border>
2026-04-17 13:41:18 +08:00
<StackPanel>
<StackPanel Margin="8">
<TextBlock Text="白板模式"
2026-05-01 23:03:20 +08:00
Foreground="{DynamicResource TextForeground}"
FontSize="10" FontWeight="Bold"
HorizontalAlignment="Center"
Margin="0,4,0,8" />
2026-04-17 13:41:18 +08:00
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<Border x:Name="WhiteboardModeBtn"
2026-05-01 23:03:20 +08:00
Width="60" Height="30"
Background="#2563eb"
CornerRadius="4"
Margin="0,0,8,0"
MouseUp="WhiteboardModeBtn_MouseUp">
2026-04-17 13:41:18 +08:00
<TextBlock Text="白板"
2026-05-01 23:03:20 +08:00
Foreground="White"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
2026-04-17 13:41:18 +08:00
</Border>
<Border x:Name="BlackboardModeBtn"
2026-05-01 23:03:20 +08:00
Width="60" Height="30"
Background="LightGray"
CornerRadius="4"
MouseUp="BlackboardModeBtn_MouseUp">
2026-04-17 13:41:18 +08:00
<TextBlock Text="黑板"
2026-05-01 23:03:20 +08:00
Foreground="Black"
HorizontalAlignment="Center"
VerticalAlignment="Center" />
2026-04-17 13:41:18 +08:00
</Border>
</StackPanel>
<Border Height="1"
2026-05-01 23:03:20 +08:00
Background="{DynamicResource SettingsPageBorderBrush}"
Margin="0,12,0,12" />
2026-04-17 13:41:18 +08:00
<TextBlock Text="背景颜色"
2026-05-01 23:03:20 +08:00
Foreground="{DynamicResource TextForeground}"
FontSize="10" FontWeight="Bold"
HorizontalAlignment="Center"
Margin="0,4,0,8" />
2026-04-17 13:41:18 +08:00
<Border x:Name="BackgroundColorPreview"
2026-05-01 23:03:20 +08:00
Width="100" Height="40"
BorderThickness="1"
BorderBrush="{DynamicResource SettingsPageBorderBrush}"
Background="White"
CornerRadius="4"
Margin="0,0,0,10"
HorizontalAlignment="Center" />
2026-04-17 13:41:18 +08:00
<StackPanel Orientation="Horizontal" Margin="10,0,10,5">
<TextBlock Text="R:" Width="20"
VerticalAlignment="Center"
2026-05-01 23:03:20 +08:00
Foreground="{DynamicResource TextForeground}" />
<Slider x:Name="BackgroundRSlider"
Minimum="0" Maximum="255" Value="255"
Width="150" Margin="5,0,5,0"
VerticalAlignment="Center"
ValueChanged="BackgroundRSlider_ValueChanged" />
2026-04-17 13:41:18 +08:00
<TextBlock x:Name="BackgroundRValue"
2026-05-01 23:03:20 +08:00
Text="255" Width="30"
VerticalAlignment="Center"
TextAlignment="Right"
Foreground="{DynamicResource TextForeground}" />
2026-04-17 13:41:18 +08:00
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="10,0,10,5">
<TextBlock Text="G:" Width="20"
VerticalAlignment="Center"
2026-05-01 23:03:20 +08:00
Foreground="{DynamicResource TextForeground}" />
<Slider x:Name="BackgroundGSlider"
Minimum="0" Maximum="255" Value="255"
Width="150" Margin="5,0,5,0"
VerticalAlignment="Center"
ValueChanged="BackgroundGSlider_ValueChanged" />
2026-04-17 13:41:18 +08:00
<TextBlock x:Name="BackgroundGValue"
2026-05-01 23:03:20 +08:00
Text="255" Width="30"
VerticalAlignment="Center"
TextAlignment="Right"
Foreground="{DynamicResource TextForeground}" />
2026-04-17 13:41:18 +08:00
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="10,0,10,5">
<TextBlock Text="B:" Width="20"
VerticalAlignment="Center"
2026-05-01 23:03:20 +08:00
Foreground="{DynamicResource TextForeground}" />
<Slider x:Name="BackgroundBSlider"
Minimum="0" Maximum="255" Value="255"
Width="150" Margin="5,0,5,0"
VerticalAlignment="Center"
ValueChanged="BackgroundBSlider_ValueChanged" />
2026-04-17 13:41:18 +08:00
<TextBlock x:Name="BackgroundBValue"
2026-05-01 23:03:20 +08:00
Text="255" Width="30"
VerticalAlignment="Center"
TextAlignment="Right"
Foreground="{DynamicResource TextForeground}" />
2026-04-17 13:41:18 +08:00
</StackPanel>
<Button x:Name="ApplyBackgroundColorBtn"
2026-05-01 23:03:20 +08:00
Content="应用颜色"
Margin="0,10,0,0"
Padding="10,5,10,5"
Background="#2563eb"
Foreground="White"
BorderThickness="0"
HorizontalAlignment="Center"
Click="ApplyBackgroundColorBtn_Click" />
2026-04-17 13:41:18 +08:00
</StackPanel>
</StackPanel>
2026-05-01 23:03:20 +08:00
</ikw:SimpleStackPanel>
</Border>
</Grid>
</Border>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
2025-09-21 01:15:01 +08:00
<Border CornerRadius="5,5,5,5" Background="{DynamicResource BoardFloatBarBackground}" Margin="0,0,5,0">
<ikw:SimpleStackPanel Orientation="Horizontal">
2026-04-15 14:15:05 +08:00
<controls:BoardToolbarButton x:Name="BoardSelect"
Position="First"
Label="{i18n:I18n Key=Board_Select}"
IconGeometry="F1 M24,24z M0,0z M22.7989,10.1653L1.14304,1.14304 10.1653,22.7989 12.8305,14.9518 19.6892,21.8105 21.8105,19.6892 14.9518,12.8305 22.7989,10.1653z"
ButtonMouseUp="SymbolIconSelect_MouseUp" />
<controls:BoardToolbarButton x:Name="BoardPen"
Label="{i18n:I18n Key=Board_Pen}"
IconGeometry="F1 M24,24z M0,0z M20.4786,1.42438C19.9985,1.23743 19.4847,1.15194 18.9698,1.17319 18.4549,1.19444 17.9499,1.32197 17.4869,1.54789 17.0368,1.76752 16.6358,2.07554 16.3083,2.45361L3.85516,14.9067 9.08243,20.134 21.5311,7.68529C21.9113,7.36382 22.223,6.96912 22.447,6.52438 22.6786,6.06462 22.8113,5.56167 22.8365,5.04763 22.8616,4.5336 22.7787,4.02012 22.593,3.54002 22.4073,3.05994 22.1232,2.62403 21.759,2.25988 21.3949,1.89574 20.9587,1.61132 20.4786,1.42438z M7.28056,21.1605L2.8286,16.7086 1.15912,22.83 7.28056,21.1605z"
ButtonMouseUp="PenIcon_Click" />
2026-05-01 23:03:20 +08:00
<!--笔菜单-->
2026-05-01 14:28:21 +08:00
<Border>
<Grid Margin="0,5,0,5" Width="0">
<Grid Name="BoardPenPaletteGrid" Margin="-160,-240,-53,50" RenderTransformOrigin="0,1">
2026-05-01 23:03:20 +08:00
<Border x:Name="BoardPenPalette" Visibility="Collapsed" d:Visibility="Visible"
2026-05-01 14:28:21 +08:00
Background="{DynamicResource FloatBarBackground}"
Opacity="1" BorderBrush="#2563eb"
BorderThickness="1" CornerRadius="8">
<ikw:SimpleStackPanel>
<Border BorderBrush="#1e3a8a" Height="32"
BorderThickness="0,0,0,1"
CornerRadius="7,7,0,0" Background="#2563eb"
Margin="0" Padding="1,1,1,0">
<ikw:SimpleStackPanel Orientation="Vertical" VerticalAlignment="Center">
<ikw:SimpleStackPanel Orientation="Horizontal"
HorizontalAlignment="Stretch"
Margin="8,0,0,0" Spacing="2">
<Border x:Name="BoardDefaultPenTabButton"
MouseDown="SwitchToDefaultPen"
Background="#48dbeafe" Height="20" Width="36" CornerRadius="3">
<Canvas>
<ikw:SimpleStackPanel x:Name="BoardDefaultPenTabButtonIndicator"
Visibility="Visible" Orientation="Horizontal"
Canvas.Left="9" Canvas.Right="9" Canvas.Bottom="0">
<Border Width="18" Height="2"
Background="{DynamicResource FloatBarBackground}"
CornerRadius="1" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Orientation="Vertical" Height="20" Width="36">
<ikw:SimpleStackPanel VerticalAlignment="Center"
Orientation="Horizontal"
HorizontalAlignment="Center" Margin="0,3">
<Image Source="/Resources/new-icons/pen-white.png"
RenderOptions.BitmapScalingMode="HighQuality"
Height="13" Width="13" />
<TextBlock x:Name="BoardDefaultPenTabButtonText"
Foreground="White" FontWeight="Medium"
FontSize="9" TextAlignment="Center"
Text="{i18n:I18n Key=Board_Pen}" Margin="2,1,0,0" />
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
</Canvas>
</Border>
<Border x:Name="BoardHighlightPenTabButton"
MouseDown="SwitchToHighlighterPen"
Background="Transparent" Height="20" Width="52" CornerRadius="3">
<Canvas>
<ikw:SimpleStackPanel Visibility="Collapsed"
x:Name="BoardHighlightPenTabButtonIndicator"
Orientation="Horizontal"
Canvas.Left="14" Canvas.Right="14" Canvas.Bottom="0">
<Border Width="24" Height="2"
Background="{DynamicResource FloatBarBackground}"
CornerRadius="1" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Orientation="Vertical" Height="20" Width="52">
<ikw:SimpleStackPanel VerticalAlignment="Center"
Orientation="Horizontal"
HorizontalAlignment="Center" Margin="0,3">
<Image Source="/Resources/new-icons/highlighter-white.png"
RenderOptions.BitmapScalingMode="HighQuality"
Height="13" Width="13" />
<TextBlock x:Name="BoardHighlightPenTabButtonText"
Foreground="White" FontWeight="Medium"
FontSize="9" TextAlignment="Center"
Text="{i18n:I18n Key=Board_Highlighter}" Margin="2,1,0,0"
Width="35"
Style="{StaticResource AutoFitPenTabLabel9}" />
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
</Canvas>
</Border>
2026-05-01 14:28:21 +08:00
<Image Margin="66,0,0,0"
Source="/Resources/new-icons/close-white.png"
RenderOptions.BitmapScalingMode="HighQuality"
Height="16" Width="16"
MouseDown="Border_MouseDown"
MouseUp="CloseBordertools_MouseUp" />
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
</Border>
<ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
<Viewbox Name="BoardDefaultPenPropsPanel"
Visibility="Collapsed"
Margin="12,8,12,0" HorizontalAlignment="Center"
VerticalAlignment="Center" Stretch="Fill">
<ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Orientation="Horizontal"
2025-08-24 09:17:58 +08:00
Height="35" Margin="0,0,0,8">
<Label Content="笔锋" Margin="0,0,6,0"
Foreground="{DynamicResource FloatBarForeground}"
FontSize="16" FontWeight="Bold"
VerticalAlignment="Center" />
<ComboBox Height="30"
VerticalAlignment="Center"
Name="BoardComboBoxPenStyle"
2026-03-28 17:11:30 +08:00
SelectedIndex="1"
2025-08-24 09:17:58 +08:00
SelectionChanged="ComboBoxPenStyle_SelectionChanged">
2026-03-28 17:11:30 +08:00
<ComboBoxItem Content="实时笔锋"
2026-04-10 20:22:09 +08:00
/>
2025-08-24 09:17:58 +08:00
<ComboBoxItem Content="基于点集"
2026-04-10 20:22:09 +08:00
/>
2025-08-24 09:17:58 +08:00
<ComboBoxItem Content="基于速率"
2026-04-10 20:22:09 +08:00
/>
2025-08-24 09:17:58 +08:00
<ComboBoxItem Content="关闭笔锋"
2026-04-10 20:22:09 +08:00
/>
2025-08-24 09:17:58 +08:00
</ComboBox>
</ikw:SimpleStackPanel>
2025-08-24 09:17:58 +08:00
<Controls:UniformGrid Columns="3" Width="300"
2025-05-25 09:29:48 +08:00
Height="55">
<ikw:SimpleStackPanel
2025-08-24 09:17:58 +08:00
x:Name="BoardNibModeSimpleStackPanel"
Orientation="Horizontal" Width="100">
2025-08-24 09:33:27 +08:00
<Label Content="笔尖模式" FontSize="12"
2025-08-24 09:17:58 +08:00
VerticalAlignment="Center" />
<ui:ToggleSwitch
x:Name="BoardToggleSwitchEnableNibMode"
MinWidth="0"
Width="80" Margin="10,0,0,0"
Toggled="ToggleSwitchEnableNibMode_Toggled"
IsOn="True" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Orientation="Horizontal"
2025-08-24 09:17:58 +08:00
Width="100">
<Label Margin="0,0,10,0" Content="墨迹纠正"
Foreground="{DynamicResource FloatBarForeground}"
2025-08-24 09:33:27 +08:00
FontSize="12"
2025-08-24 09:17:58 +08:00
VerticalAlignment="Center" />
<ui:ToggleSwitch
x:Name="BoardToggleSwitchEnableInkToShape"
2025-08-24 09:17:58 +08:00
Foreground="{DynamicResource FloatBarForeground}"
Width="80"
Toggled="ToggleSwitchEnableInkToShape_Toggled"
MinWidth="0" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Orientation="Horizontal"
Width="100" x:Name="InkFadeControlPanel1">
2025-08-24 09:17:58 +08:00
<Label Margin="0,0,10,0" Content="墨迹渐隐"
Foreground="{DynamicResource FloatBarForeground}"
2025-08-24 09:33:27 +08:00
FontSize="12"
2025-08-24 09:17:58 +08:00
VerticalAlignment="Center" />
<ui:ToggleSwitch
x:Name="ToggleSwitchInkFadeInPanel"
Foreground="{DynamicResource FloatBarForeground}"
Width="90"
Toggled="ToggleSwitchInkFadeInPanel_Toggled"
MinWidth="0"
IsOn="False" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Controls:UniformGrid>
<StackPanel Orientation="Horizontal" Height="30">
<Label Margin="0,0,10,0" Content="粗细"
FontWeight="Bold"
Foreground="{DynamicResource FloatBarForeground}"
FontSize="17" VerticalAlignment="Center" />
<Slider x:Name="BoardInkWidthSlider" Minimum="1"
Maximum="20"
2026-04-16 00:27:56 +08:00
Width="200"
2025-05-25 09:29:48 +08:00
FontSize="20" IsSnapToTickEnabled="True"
Value="5"
TickFrequency="0.1" TickPlacement="None"
ValueChanged="InkWidthSlider_ValueChanged" />
2026-04-16 00:27:56 +08:00
<TextBlock Width="36" TextAlignment="Right"
2025-05-25 09:29:48 +08:00
Text="{Binding Value, ElementName=InkWidthSlider, Mode=OneWay}"
2026-04-16 00:27:56 +08:00
FontFamily="Consolas" VerticalAlignment="Center"
Margin="10,0,0,0" FontSize="15" />
2025-05-25 09:29:48 +08:00
</StackPanel>
<StackPanel Orientation="Horizontal" Height="30">
<Label Margin="0,0,10,0" Content="透明"
FontWeight="Bold"
Foreground="{DynamicResource FloatBarForeground}"
FontSize="17" VerticalAlignment="Center" />
<Slider x:Name="BoardInkAlphaSlider"
Margin="0,0,0,0"
2026-04-16 00:27:56 +08:00
Minimum="1" Maximum="255" Width="200"
2025-05-25 09:29:48 +08:00
FontSize="20"
IsSnapToTickEnabled="True" Value="255"
TickFrequency="1"
TickPlacement="None"
ValueChanged="InkAlphaSlider_ValueChanged" />
2026-04-16 00:27:56 +08:00
<TextBlock Width="36" TextAlignment="Right"
2025-05-25 09:29:48 +08:00
Text="{Binding Value, ElementName=InkAlphaSlider, Mode=OneWay}"
2026-04-16 00:27:56 +08:00
FontFamily="Consolas" VerticalAlignment="Center"
Margin="10,0,0,0" FontSize="15" />
2025-05-25 09:29:48 +08:00
</StackPanel>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Viewbox>
<Viewbox Name="BoardHighlighterPenPropsPanel"
Margin="12,8,12,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Stretch="Fill">
<ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
<StackPanel Orientation="Horizontal" Height="30">
<Label Margin="0,0,10,0" Content="粗细"
FontWeight="Bold"
Foreground="{DynamicResource FloatBarForeground}"
FontSize="17" VerticalAlignment="Center" />
<Slider x:Name="BoardHighlighterWidthSlider"
Minimum="15"
Maximum="45" Width="208"
2026-05-01 14:28:21 +08:00
2025-05-25 09:29:48 +08:00
FontSize="20"
IsSnapToTickEnabled="True" Value="20"
TickFrequency="1" TickPlacement="None"
ValueChanged="HighlighterWidthSlider_ValueChanged" />
<TextBlock
2025-06-29 12:40:15 +08:00
Text="{Binding Value, ElementName=BoardHighlighterWidthSlider, Mode=OneWay}"
2025-05-25 09:29:48 +08:00
FontFamily="Consolas"
VerticalAlignment="Bottom"
Margin="10,0,0,4.5" FontSize="15" />
</StackPanel>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Viewbox>
<Viewbox x:Name="BoardDefaultPenColorsPanel"
Visibility="Collapsed"
Margin="0,8,0,0" Stretch="Fill">
<ikw:SimpleStackPanel Width="300" Margin="0,0,0,0">
2025-05-25 09:29:48 +08:00
<!--<TextBlock FontSize="25">画笔颜色</TextBlock>-->
2025-09-21 00:25:09 +08:00
<Border Width="300" Height="100" BorderBrush="{DynamicResource IconForeground}"
2025-05-25 09:29:48 +08:00
BorderThickness="0" CornerRadius="5">
<Controls:UniformGrid Rows="2" Height="100">
<ikw:SimpleStackPanel Height="45"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal" Width="270">
<Controls:UniformGrid Columns="5"
Width="270"
Margin="0">
2025-10-04 21:00:51 +08:00
<Border BorderBrush="{DynamicResource FloatBarBorderBrush}"
2025-05-25 09:29:48 +08:00
BorderThickness="1"
CornerRadius="100" Width="45"
MouseDown="Border_MouseDown"
MouseUp="ColorThemeSwitch_MouseUp">
<Grid Margin="3">
<Image
x:Name="BoardColorThemeSwitchIcon"
Source="/Resources/Icons-Fluent/ic_fluent_weather_sunny_24_regular.png"
RenderOptions.BitmapScalingMode="HighQuality"
VerticalAlignment="Top"
Width="23"
Height="23"
Margin="0,0,0,0" />
<TextBlock Margin="0,0,0,2"
x:Name="BoardColorThemeSwitchTextBlock"
Text="亮系"
2025-09-21 00:25:09 +08:00
Foreground="{DynamicResource FloatBarForeground}"
2025-05-25 09:29:48 +08:00
VerticalAlignment="Bottom"
HorizontalAlignment="Center"
FontSize="11" />
</Grid>
</Border>
2026-04-14 13:57:13 +08:00
<controls:PenColorButton x:Name="BoardBorderPenColorBlack" Color="Black" BorderBrushColor="#D3D3D3" CheckIconSource="/Resources/new-icons/checked-white.png" ButtonMouseUp="BtnColorBlack_Click" />
<controls:PenColorButton x:Name="BoardBorderPenColorWhite" Color="White" BorderBrushColor="#71717a" CheckIconSource="/Resources/new-icons/checked-black.png" ButtonMouseUp="BtnColorWhite_Click" />
<controls:PenColorButton x:Name="BoardBorderPenColorRed" Color="#dc2626" BorderBrushColor="#7f1d1d" ButtonMouseUp="BtnColorRed_Click" />
<controls:PenColorButton x:Name="BoardBorderPenColorYellow" Color="#eab308" BorderBrushColor="#713f12" ButtonMouseUp="BtnColorYellow_Click" />
2025-05-25 09:29:48 +08:00
</Controls:UniformGrid>
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Height="45"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal" Width="270">
<Controls:UniformGrid Columns="5"
Width="270"
Margin="0">
2026-04-14 13:57:13 +08:00
<controls:PenColorButton x:Name="BoardBorderPenColorGreen" Color="#16a34a" BorderBrushColor="#14532d" ButtonMouseUp="BtnColorGreen_Click" />
<controls:PenColorButton x:Name="BoardBorderPenColorBlue" Color="#2563eb" BorderBrushColor="#1e3a8a" ButtonMouseUp="BtnColorBlue_Click" />
<controls:PenColorButton x:Name="BoardBorderPenColorPink" Color="#db2777" BorderBrushColor="#831843" ButtonMouseUp="BtnColorPink_Click" />
<controls:PenColorButton x:Name="BoardBorderPenColorTeal" Color="#0d9488" BorderBrushColor="#134e4a" ButtonMouseUp="BtnColorTeal_Click" />
<controls:PenColorButton x:Name="BoardBorderPenColorOrange" Color="#ea580c" BorderBrushColor="#7c2d12" ButtonMouseUp="BtnColorOrange_Click" />
2025-05-25 09:29:48 +08:00
</Controls:UniformGrid>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Controls:UniformGrid>
</Border>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Viewbox>
<Viewbox x:Name="BoardHighlighterPenColorsPanel"
Visibility="Visible"
Margin="0,8,0,0" Stretch="Fill">
<ikw:SimpleStackPanel Width="300" Margin="0,0,0,0">
2025-05-25 09:29:48 +08:00
<!--<TextBlock FontSize="25">画笔颜色</TextBlock>-->
<Border Width="300" Height="110" BorderBrush="Black"
BorderThickness="0" CornerRadius="5">
<Controls:UniformGrid Rows="2" Height="110">
<ikw:SimpleStackPanel Height="45"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal" Width="270">
<Controls:UniformGrid Columns="5"
Width="270"
Margin="0">
2026-04-14 13:57:13 +08:00
<controls:PenColorButton x:Name="BoardHighlighterPenColorBlack" Color="Black" BorderBrushColor="#e4e4e7" IsHighlighter="True" ButtonMouseUp="BtnHighlighterColorBlack_Click" />
<controls:PenColorButton x:Name="BoardHighlighterPenColorWhite" Color="White" BorderBrushColor="#dddddd" IsHighlighter="True" CheckIconSource="/Resources/new-icons/checked-black.png" ButtonMouseUp="BtnHighlighterColorWhite_Click" />
<controls:PenColorButton x:Name="BoardHighlighterPenColorRed" Color="#ef4444" BorderBrushColor="#fecaca" IsHighlighter="True" ButtonMouseUp="BtnHighlighterColorRed_Click" />
<controls:PenColorButton x:Name="BoardHighlighterPenColorYellow" Color="#eab308" BorderBrushColor="#fef08a" IsHighlighter="True" CheckIconSource="/Resources/new-icons/checked-black.png" ButtonMouseUp="BtnHighlighterColorYellow_Click" />
<controls:PenColorButton x:Name="BoardHighlighterPenColorGreen" Color="#22c55e" BorderBrushColor="#bbf7d0" IsHighlighter="True" CheckIconSource="/Resources/new-icons/checked-black.png" ButtonMouseUp="BtnHighlighterColorGreen_Click" />
2025-05-25 09:29:48 +08:00
</Controls:UniformGrid>
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Height="45"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal" Width="270">
<Controls:UniformGrid Columns="5"
Width="270"
Margin="0">
2026-04-14 13:57:13 +08:00
<controls:PenColorButton x:Name="BoardHighlighterPenColorZinc" Color="#71717a" BorderBrushColor="#e4e4e7" IsHighlighter="True" ButtonMouseUp="BtnHighlighterColorZinc_Click" />
<controls:PenColorButton x:Name="BoardHighlighterPenColorBlue" Color="#3b82f6" BorderBrushColor="#bfdbfe" IsHighlighter="True" ButtonMouseUp="BtnHighlighterColorBlue_Click" />
<controls:PenColorButton x:Name="BoardHighlighterPenPenColorPurple" Color="#a855f7" BorderBrushColor="#e9d5ff" IsHighlighter="True" ButtonMouseUp="BtnHighlighterColorPurple_Click" />
<controls:PenColorButton x:Name="BoardHighlighterPenColorTeal" Color="#14b8a6" BorderBrushColor="#99f6e4" IsHighlighter="True" CheckIconSource="/Resources/new-icons/checked-black.png" ButtonMouseUp="BtnHighlighterColorTeal_Click" />
<controls:PenColorButton x:Name="BoardHighlighterPenColorOrange" Color="#f97316" BorderBrushColor="#fed7aa" IsHighlighter="True" ButtonMouseUp="BtnHighlighterColorOrange_Click" />
2025-05-25 09:29:48 +08:00
</Controls:UniformGrid>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Controls:UniformGrid>
</Border>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Viewbox>
</ikw:SimpleStackPanel>
2026-05-01 14:28:21 +08:00
</ikw:SimpleStackPanel>
</Border>
</Grid>
</Grid>
</Border>
2026-04-15 14:15:05 +08:00
<controls:BoardToolbarButton x:Name="BoardEraser"
Label="{i18n:I18n Key=Board_Eraser}"
IconGeometry="F1 M24,24z M0,0z M15.6314,20.7262L22.7921,13.5655C24.3494,12.141,24.2819,9.81776,22.8105,8.34633L16.7793,2.31508C15.3547,0.757753,13.0315,0.825236,11.5601,2.29666L4.38099,9.47574 15.6314,20.7262z M14.2172,22.1404L2.96677,10.89 1.20761,12.6491C-0.34971,14.0737,-0.281711,16.3974,1.18971,17.8688L6.15089,22.83 13.5276,22.83 14.2172,22.1404z"
ButtonMouseUp="BoardEraserIcon_Click" />
2026-05-01 23:03:20 +08:00
<!--橡皮菜单-->
2026-05-01 14:28:21 +08:00
<Border>
<Grid RenderTransformOrigin="0,1" Margin="-133,-172,13,55">
2026-05-01 23:03:20 +08:00
<Border Visibility="Collapsed" ClipToBounds="True" d:Visibility="Visible"
x:Name="BoardEraserSizePanel"
2026-05-01 14:28:21 +08:00
CornerRadius="5" Background="{DynamicResource FloatBarBackground}"
2025-05-25 09:29:48 +08:00
Opacity="1"
2026-05-01 14:28:21 +08:00
BorderBrush="#2563eb" BorderThickness="1">
<ikw:SimpleStackPanel Margin="0">
2026-05-01 14:28:21 +08:00
<Border BorderBrush="#1e3a8a" BorderThickness="0,0,0,1"
CornerRadius="6,6,0,0"
Background="#2563eb" Margin="-1,-1,-1,1">
<Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Text="{i18n:I18n Key=Board_EraserOptions}" Foreground="White"
VerticalAlignment="Center" Grid.Column="0"
FontSize="11" FontWeight="Bold" />
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.ChromeCloseContrast}"
Foreground="White" FontSize="12"
VerticalAlignment="Center" Grid.Column="1"
MouseDown="Border_MouseDown"
MouseUp="CloseBordertools_MouseUp" />
</Grid>
2026-05-01 14:28:21 +08:00
</Border>
<ikw:SimpleStackPanel Orientation="Horizontal" Margin="0,6,0,0"
2026-05-01 23:03:20 +08:00
Spacing="2"
2025-05-25 09:29:48 +08:00
VerticalAlignment="Center"
HorizontalAlignment="Center">
2026-03-03 14:08:01 +08:00
<Label Margin="0,0,0,0" Content="{i18n:I18n Key=Board_Size}" FontWeight="Bold"
2025-05-25 09:29:48 +08:00
Foreground="{DynamicResource FloatBarForeground}"
FontSize="10"
VerticalAlignment="Center" />
<Viewbox Margin="8,0,0,0" Height="20" Width="52">
<ComboBox Name="BoardComboBoxEraserSize"
2026-04-10 20:22:09 +08:00
SelectedIndex="2"
2025-05-25 09:29:48 +08:00
SelectionChanged="ComboBoxEraserSizeFloatingBar_SelectionChanged">
2026-03-03 14:08:01 +08:00
<ComboBoxItem Content="{i18n:I18n Key=Canvas_EraserSize_VerySmall}"
2026-04-10 20:22:09 +08:00
/>
2026-03-03 14:08:01 +08:00
<ComboBoxItem Content="{i18n:I18n Key=Canvas_EraserSize_Small}"
2026-04-10 20:22:09 +08:00
/>
2026-03-03 14:08:01 +08:00
<ComboBoxItem Content="{i18n:I18n Key=Canvas_EraserSize_Medium}"
2026-04-10 20:22:09 +08:00
/>
2026-03-03 14:08:01 +08:00
<ComboBoxItem Content="{i18n:I18n Key=Canvas_EraserSize_Large}"
2026-04-10 20:22:09 +08:00
/>
2026-03-03 14:08:01 +08:00
<ComboBoxItem Content="{i18n:I18n Key=Canvas_EraserSize_VeryLarge}"
2026-04-10 20:22:09 +08:00
/>
2025-05-25 09:29:48 +08:00
</ComboBox>
</Viewbox>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
<TextBlock HorizontalAlignment="Center" Margin="0,8,0,6"
2026-03-03 14:08:01 +08:00
Text="{i18n:I18n Key=Board_EraserShape}"
2025-05-25 09:29:48 +08:00
FontWeight="Bold"
Foreground="{DynamicResource FloatBarForeground}"
FontSize="10" VerticalAlignment="Center" />
<ikw:SimpleStackPanel Orientation="Horizontal"
2025-05-25 09:29:48 +08:00
HorizontalAlignment="Center"
Margin="0,0,0,0" Spacing="4">
<Border x:Name="BoardCircleEraserTabButton"
MouseDown="SwitchToCircleEraser"
2025-10-04 17:49:44 +08:00
Background="{DynamicResource BoardFloatBarButtonBackgroundPointerOverKey}" Height="20" Width="40"
2025-05-25 09:29:48 +08:00
CornerRadius="3">
<Canvas>
<ikw:SimpleStackPanel
2025-05-25 09:29:48 +08:00
x:Name="BoardCircleEraserTabButtonIndicator"
Visibility="Visible" Orientation="Horizontal"
Canvas.Left="11" Canvas.Right="11"
Canvas.Bottom="0">
2025-10-04 17:49:44 +08:00
<Border Width="18" Height="2" Background="{DynamicResource BoardFloatBarButtonButtonBackgroundPressedKey}"
2025-05-25 09:29:48 +08:00
CornerRadius="1" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Orientation="Vertical" Height="20"
2025-05-25 09:29:48 +08:00
Width="40">
<ikw:SimpleStackPanel VerticalAlignment="Center"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal"
HorizontalAlignment="Center" Margin="0,3">
<TextBlock
x:Name="BoardCircleEraserTabButtonText"
2025-10-04 17:49:44 +08:00
Foreground="{DynamicResource FloatBarForeground}" FontWeight="Medium"
2025-05-25 09:29:48 +08:00
FontSize="9" TextAlignment="Center"
2026-03-03 14:08:01 +08:00
Text="{i18n:I18n Key=Board_EraserShape_Circle}" />
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Canvas>
</Border>
<Border x:Name="BoardRectangleEraserTabButton"
MouseDown="SwitchToRectangleEraser"
2025-10-04 17:49:44 +08:00
Background="{DynamicResource BoardFloatBarButtonBackgroundKey}"
2025-05-25 09:29:48 +08:00
Height="20" Width="40" CornerRadius="3">
<Canvas>
<ikw:SimpleStackPanel Visibility="Collapsed"
2025-05-25 09:29:48 +08:00
x:Name="BoardRectangleEraserTabButtonIndicator"
Orientation="Horizontal" Canvas.Left="11"
Canvas.Right="11" Canvas.Bottom="0">
2025-10-04 17:49:44 +08:00
<Border Width="18" Height="2" Background="{DynamicResource BoardFloatBarButtonButtonBackgroundPressedKey}"
2025-05-25 09:29:48 +08:00
CornerRadius="1" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Orientation="Vertical" Height="20"
2025-05-25 09:29:48 +08:00
Width="40">
<ikw:SimpleStackPanel VerticalAlignment="Center"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal"
HorizontalAlignment="Center" Margin="0,3">
<TextBlock
x:Name="BoardRectangleEraserTabButtonText"
2025-10-04 17:49:44 +08:00
Foreground="{DynamicResource FloatBarForeground}" FontWeight="Medium"
2025-05-25 09:29:48 +08:00
FontSize="9" TextAlignment="Center"
2026-03-03 14:08:01 +08:00
Text="{i18n:I18n Key=Board_EraserShape_Blackboard}" />
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Canvas>
</Border>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
<Button Click="BoardSymbolIconDelete_MouseUp" Foreground="White"
HorizontalAlignment="Center" Margin="0,6,0,0">
<Button.Resources>
<SolidColorBrush
x:Key="{x:Static ui:ThemeKeys.ButtonBackgroundKey}"
Color="#b91c1c" />
<SolidColorBrush
x:Key="{x:Static ui:ThemeKeys.ButtonBackgroundPointerOverKey}"
Color="#b91c1c" />
<SolidColorBrush
x:Key="{x:Static ui:ThemeKeys.ButtonBackgroundPressedKey}"
Color="#991b1b" />
</Button.Resources>
<Button.Content>
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="4">
2025-05-25 09:29:48 +08:00
<Image RenderOptions.BitmapScalingMode="HighQuality"
Height="15">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup
ClipGeometry="M0,0 V24 H24 V0 H0 Z">
<GeometryDrawing Brush="White"
2026-04-13 00:51:17 +08:00
Geometry="{Binding Source={x:Static icons:XamlGraphicsIconGeometries.ClearInkIconGeometry}, Converter={StaticResource StringToGeometryConverter}}"/>
2025-05-25 09:29:48 +08:00
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
<TextBlock FontSize="11" VerticalAlignment="Center"
2026-03-03 14:08:01 +08:00
Foreground="White" FontWeight="Bold"
Text="{i18n:I18n Key=Board_ClearInk}" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Button.Content>
</Button>
<Button Click="BoardSymbolIconDeleteInkAndHistories_MouseUp"
Foreground="White" HorizontalAlignment="Center"
Margin="0,4,0,0">
<Button.Resources>
<SolidColorBrush
x:Key="{x:Static ui:ThemeKeys.ButtonBackgroundKey}"
Color="#b91c1c" />
<SolidColorBrush
x:Key="{x:Static ui:ThemeKeys.ButtonBackgroundPointerOverKey}"
Color="#b91c1c" />
<SolidColorBrush
x:Key="{x:Static ui:ThemeKeys.ButtonBackgroundPressedKey}"
Color="#991b1b" />
</Button.Resources>
<Button.Content>
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="4"
2025-05-25 09:29:48 +08:00
Margin="-4,-1">
<Image RenderOptions.BitmapScalingMode="HighQuality"
Height="12">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup
ClipGeometry="M0,0 V24 H24 V0 H0 Z">
<GeometryDrawing Brush="White"
2026-04-13 00:51:17 +08:00
Geometry="{Binding Source={x:Static icons:XamlGraphicsIconGeometries.ClearInkIconGeometry}, Converter={StaticResource StringToGeometryConverter}}"/>
2025-05-25 09:29:48 +08:00
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
<TextBlock FontSize="9" VerticalAlignment="Center"
2026-03-03 14:08:01 +08:00
Foreground="White"
Text="{i18n:I18n Key=Board_ClearInkAndHistory}" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Button.Content>
</Button>
</ikw:SimpleStackPanel>
2026-05-01 14:28:21 +08:00
</Border>
</Grid>
</Border>
2026-04-15 14:15:05 +08:00
<controls:BoardToolbarButton x:Name="BoardGeometry"
Label="{i18n:I18n Key=Board_Shape}"
IconGeometry="F1 M24,24z M0,0z M17.8604,10.7597L12.0068,1.17001 6.13961,10.7597 17.8604,10.7597z M10.9345,13.2403L1.34476,13.2403 1.34476,22.83 10.9345,22.83 10.9345,13.2403z M17.8604,13.2403C15.2122,13.2403 13.0655,15.387 13.0655,18.0352 13.0655,20.6833 15.2122,22.83 17.8604,22.83 20.5085,22.83 22.6552,20.6833 22.6552,18.0352 22.6552,15.387 20.5085,13.2403 17.8604,13.2403z"
ButtonMouseUp="ImageDrawShape_MouseUp" />
2026-05-01 23:03:20 +08:00
<!--图形菜单-->
2025-05-25 09:29:48 +08:00
<Border Width="0">
<Border x:Name="BoardBorderDrawShape" Visibility="Visible"
2025-09-21 01:35:13 +08:00
Background="{DynamicResource FloatBarBackground}"
2026-01-18 04:05:55 +08:00
Opacity="1" BorderBrush="{DynamicResource FloatBarBorderBrush}" BorderThickness="1" CornerRadius="5"
2025-07-31 20:38:30 +08:00
Margin="-147,-286,-89,55">
2025-05-25 09:29:48 +08:00
<Viewbox>
2026-05-01 23:03:20 +08:00
<ikw:SimpleStackPanel Spacing="8" Orientation="Vertical">
2025-05-25 09:29:48 +08:00
<TextBlock FontSize="16"
Foreground="{DynamicResource FloatBarForeground}"
HorizontalAlignment="Left" Margin="10,8">
2026-03-03 14:08:01 +08:00
<Run Text="{i18n:I18n Key=Board_Shape}" />
<Run Text="{i18n:I18n Key=Board_ShapeHintLongPress}" FontSize="10" />
2025-05-25 09:29:48 +08:00
</TextBlock>
<ui:FontIcon Margin="0,-20,8,15" Icon="{x:Static ui:SegoeFluentIcons.Pin}"
2025-05-25 09:29:48 +08:00
MouseDown="Border_MouseDown"
MouseUp="SymbolIconPinBorderDrawShape_MouseUp"
Foreground="{DynamicResource FloatBarForeground}"
HorizontalAlignment="Right" />
<ikw:SimpleStackPanel Margin="20,0,0,0" Orientation="Horizontal">
<ikw:SimpleStackPanel Visibility="Collapsed" Margin="58,6,5,6"
2025-05-25 09:29:48 +08:00
Width="54">
2026-03-03 14:08:01 +08:00
<Label Margin="0,0,0,-2" Content="{i18n:I18n Key=Board_AutoHide}"
2025-05-25 09:29:48 +08:00
Foreground="{DynamicResource FloatBarForeground}"
FontSize="13"
VerticalAlignment="Center" />
<Viewbox Height="25">
<ui:ToggleSwitch
Name="ToggleSwitchDrawShapeBorderAutoHide"
Foreground="{DynamicResource FloatBarForeground}"
2026-04-10 20:22:09 +08:00
Width="70"
2025-05-25 09:29:48 +08:00
IsOn="True" />
</Viewbox>
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Height="50" Spacing="14"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal">
<Image Name="ImageDrawLine" Margin="16,12,0,12"
MouseDown="Image_MouseDown"
MouseUp="BtnDrawLine_Click"
Source="{DynamicResource DrawShapeImageSource.Line}" />
<Image Name="ImageDrawDashedLine" Margin="0,12,0,12"
MouseDown="Image_MouseDown"
MouseUp="BtnDrawDashedLine_Click"
Source="{DynamicResource DrawShapeImageSource.DashedLine}" />
<Image Name="ImageDrawDotLine" Margin="0,12,0,12"
MouseDown="Image_MouseDown"
MouseUp="BtnDrawDotLine_Click"
Source="{DynamicResource DrawShapeImageSource.DotLine}" />
<Image Name="ImageDrawArrow" Margin="0,12,0,12"
MouseDown="Image_MouseDown"
MouseUp="BtnDrawArrow_Click"
Source="{DynamicResource DrawShapeImageSource.ArrowLine}" />
<Image Name="ImageDrawParallelLine" Margin="0,11.5,16,11.5"
MouseDown="Image_MouseDown"
MouseUp="BtnDrawParallelLine_Click"
Source="{DynamicResource DrawShapeImageSource.ParallelLine}" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Height="50" Spacing="15"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal">
<Image Margin="16,12,0,12" MouseUp="BtnDrawCoordinate1_Click"
Source="{DynamicResource DrawShapeImageSource.Coordinate1}" />
<Image Margin="0,12" MouseUp="BtnDrawCoordinate2_Click"
Source="{DynamicResource DrawShapeImageSource.Coordinate2}" />
<Image Margin="0,12" MouseUp="BtnDrawCoordinate3_Click"
Source="{DynamicResource DrawShapeImageSource.Coordinate3}" />
<Image Margin="0,12" MouseUp="BtnDrawCoordinate4_Click"
Source="{DynamicResource DrawShapeImageSource.Coordinate4}" />
<Image Margin="-1,11.5" MouseUp="BtnDrawCoordinate5_Click"
Source="{DynamicResource DrawShapeImageSource.Coordinate5}" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Height="50" Spacing="10"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal">
<Image Margin="16,11,2,11"
MouseUp="BtnDrawRectangleCenter_Click"
Source="{DynamicResource DrawShapeImageSource.RectangleCenter}" />
<Image Visibility="Collapsed" Margin="0,10"
MouseUp="BtnDrawEllipse_Click"
Source="{DynamicResource DrawShapeImageSource.Ellipse}" />
<Image Margin="0,10" MouseUp="BtnDrawCircle_Click"
Source="{DynamicResource DrawShapeImageSource.Circle}" />
<Image Margin="0,10" MouseUp="BtnDrawDashedCircle_Click"
Source="{DynamicResource DrawShapeImageSource.DashedCircle}" />
<Image Margin="0,10" MouseUp="BtnDrawCenterEllipse_Click"
Source="{DynamicResource DrawShapeImageSource.EllipseCenter}"
Width="30" />
<Image Margin="0,10"
MouseUp="BtnDrawCenterEllipseWithFocalPoint_Click"
Source="{DynamicResource DrawShapeImageSource.EllipseCenterWithFocalPoint}"
Width="30" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Height="50" Spacing="10"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal">
<Image Margin="16,10,2,10" MouseUp="BtnDrawHyperbola_Click"
Width="26"
Source="{DynamicResource DrawShapeImageSource.Hyperbola}" />
<Image Margin="4,10,2,10"
MouseUp="BtnDrawHyperbolaWithFocalPoint_Click"
Width="26"
Source="{DynamicResource DrawShapeImageSource.HyperbolaWithFocalPoint}" />
<Image Margin="2.5,10,2,10" MouseUp="BtnDrawParabola1_Click"
Width="26"
Source="{DynamicResource DrawShapeImageSource.Parabola}" />
<Image Margin="1,10,2,10"
MouseUp="BtnDrawParabolaWithFocalPoint_Click"
Width="26"
Source="{DynamicResource DrawShapeImageSource.ParabolaWithFocalPoint}"
RenderTransformOrigin="0.5,0.5">
<Image.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="90" />
<TranslateTransform />
</TransformGroup>
</Image.RenderTransform>
</Image>
<Image Margin="2,10,2,10" MouseUp="BtnDrawParabola2_Click"
Width="26"
Source="{DynamicResource DrawShapeImageSource.Parabola}"
RenderTransformOrigin="0.5,0.5">
<Image.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
2025-08-03 15:23:46 +08:00
<RotateTransform Angle="90"/>
2025-05-25 09:29:48 +08:00
<TranslateTransform />
</TransformGroup>
</Image.RenderTransform>
</Image>
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Height="50" Spacing="10"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal">
<Image Margin="15,11,2,11" MouseUp="BtnDrawRectangle_Click"
Source="{DynamicResource DrawShapeImageSource.Rectangle}" />
<Image Margin="6,10,2,10" MouseUp="BtnDrawCylinder_Click"
Source="{DynamicResource DrawShapeImageSource.Cylinder}" />
<Image Margin="8,12.5,0,10" MouseUp="BtnDrawCone_Click"
Source="{DynamicResource DrawShapeImageSource.Cone}" />
<Image Margin="5.5,12.5,2.5,10" MouseUp="BtnDrawCuboid_Click"
Source="{DynamicResource DrawShapeImageSource.Cuboid}" />
<Image Visibility="Collapsed" Margin="0,11.5,2.5,9.5"
MouseUp="BtnDrawCuboid_Click"
Source="{DynamicResource DrawShapeImageSource.Tetrahedron}" />
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Viewbox>
</Border>
</Border>
2026-04-15 14:15:05 +08:00
<controls:BoardToolbarButton x:Name="BoardInsertImage"
Label="{i18n:I18n Key=Board_InsertImage}"
IconGeometry="F1 M24,24z M0,0z M19,3H5C3.9,3 3,3.9 3,5v14c0,1.1 0.9,2 2,2h14c1.1,0 2-0.9 2-2V5C21,3.9 20.1,3 19,3zM19,19H5V5h14V19z M17,7c-1.1,0-2,0.9-2,2s0.9,2 2,2 2-0.9 2-2S18.1,7 17,7zM7,17l2.5-3.01 1.96,2.36 2.54-3.21L17,17H7z"
ButtonMouseUp="InsertImageOptions_MouseUp" />
2026-05-01 23:03:20 +08:00
<!--插入图片菜单-->
<Border>
<Grid RenderTransformOrigin="0,1" Margin="-133,-172,13,55">
<Border Visibility="Collapsed" ClipToBounds="True" d:Visibility="Visible"
x:Name="BoardImageOptionsPanel"
CornerRadius="5" Background="{DynamicResource FloatBarBackground}"
Opacity="1"
BorderBrush="#2563eb" BorderThickness="1">
<ikw:SimpleStackPanel Margin="0">
<Border BorderBrush="#1e3a8a" BorderThickness="0,0,0,1"
CornerRadius="6,6,0,0"
Background="#2563eb" Margin="-1,-1,-1,1">
<Canvas Height="24" ClipToBounds="True">
<TextBlock Text="{i18n:I18n Key=Board_SelectImage}" Canvas.Left="8" Foreground="White"
Padding="0,5"
FontSize="11" FontWeight="Bold"
TextAlignment="Center" />
<Image Margin="100,4,0,0"
Source="/Resources/new-icons/close-white.png"
RenderOptions.BitmapScalingMode="HighQuality"
Height="16" Width="16"
MouseDown="Border_MouseDown"
MouseUp="CloseImageOptionsPanel_MouseUp" />
</Canvas>
</Border>
<ikw:SimpleStackPanel Margin="6,4,6,4" Spacing="2">
<!-- Screenshot Option -->
<Border MouseDown="Border_MouseDown" MouseUp="ImageOptionScreenshot_MouseUp"
Background="Transparent" CornerRadius="3" Padding="6,4">
<Border.Style>
<Style TargetType="Border">
<Setter Property="Background" Value="Transparent"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#f0f9ff"/>
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="6">
<Image Height="16" Width="16">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 V24 H24 V0 H0 Z">
<GeometryDrawing Brush="#2563eb"
Geometry="{Binding Source={x:Static icons:XamlGraphicsIconGeometries.ScreenshotIconGeometry}, Converter={StaticResource StringToGeometryConverter}}"/>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
<TextBlock Text="{i18n:I18n Key=Board_Screenshot}" FontSize="10"
Foreground="{DynamicResource TextForeground}" VerticalAlignment="Center"/>
</ikw:SimpleStackPanel>
</Border>
<!-- Select Image Option -->
<Border MouseDown="Border_MouseDown" MouseUp="ImageOptionSelectFile_MouseUp"
Background="Transparent" CornerRadius="3" Padding="6,4">
<Border.Style>
<Style TargetType="Border">
<Setter Property="Background" Value="Transparent"/>
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#f0f9ff"/>
</Trigger>
</Style.Triggers>
</Style>
</Border.Style>
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="6">
<Image Height="16" Width="16">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 V24 H24 V0 H0 Z">
<GeometryDrawing Brush="#2563eb"
Geometry="F1 M24,24z M0,0z M19,3H5C3.9,3 3,3.9 3,5v14c0,1.1 0.9,2 2,2h14c1.1,0 2-0.9 2-2V5C21,3.9 20.1,3 19,3zM19,19H5V5h14V19z M17,7c-1.1,0-2,0.9-2,2s0.9,2 2,2 2-0.9 2-2S18.1,7 17,7zM7,17l2.5-3.01 1.96,2.36 2.54-3.21L17,17H7z"/>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
<TextBlock Text="{i18n:I18n Key=Board_SelectImage}" FontSize="10"
Foreground="{DynamicResource TextForeground}" VerticalAlignment="Center"/>
</ikw:SimpleStackPanel>
</Border>
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
</Border>
</Grid>
</Border>
2026-04-17 01:20:06 +08:00
<controls:BoardToolbarButton x:Name="BoardUndo"
Label="{i18n:I18n Key=Board_Undo}"
IconGeometry="F1 M24,24z M0,0z M8.71408,16.8493L0.874451,9.00964 8.71408,1.17001 8.71408,7.42358 15.7239,7.42358C16.7074,7.42358 17.6791,7.62744 18.583,8.02124 19.4866,8.41493 20.3023,8.98966 20.9857,9.70849 21.6689,10.4271 22.2069,11.276 22.5726,12.2047 22.9383,13.1333 23.1256,14.126 23.1256,15.1268 23.1256,16.1276 22.9383,17.1203 22.5726,18.0489 22.2069,18.9776 21.6689,19.8264 20.9857,20.5451 20.3023,21.2639 19.4866,21.8387 18.583,22.2324 17.6791,22.6262 16.7074,22.83 15.7239,22.83L10.437,22.83 10.437,19.6579 15.7239,19.6579C16.2679,19.6579 16.8086,19.5453 17.3159,19.3243 17.8235,19.1031 18.29,18.7767 18.6867,18.3594 19.0835,17.942 19.4023,17.4422 19.6211,16.8866 19.8399,16.3308 19.9534,15.7326 19.9534,15.1268 19.9534,14.5209 19.8399,13.9227 19.6211,13.367 19.4023,12.8114 19.0835,12.3115 18.6867,11.8941 18.29,11.4769 17.8235,11.1505 17.3159,10.9293 16.8086,10.7083 16.2679,10.5957 15.7239,10.5957L8.71408,10.5957 8.71408,16.8493z"
IsEnabledBinding="{Binding ElementName=BtnUndo, Path=IsEnabled}"
ButtonMouseUp="SymbolIconUndo_MouseUp" />
<controls:BoardToolbarButton x:Name="BoardRedo"
Position="Last"
Label="{i18n:I18n Key=Board_Redo}"
IconGeometry="F1 M24,24z M0,0z M15.2859,16.8493L23.1255,9.00964 15.2859,1.17001 15.2859,7.42358 8.27607,7.42358C7.29262,7.42358 6.32086,7.62744 5.41703,8.02124 4.51341,8.41493 3.69773,8.98966 3.01434,9.70849 2.33111,10.4271 1.79312,11.276 1.42741,12.2047 1.06174,13.1333 0.874422,14.126 0.874422,15.1268 0.874422,16.1276 1.06174,17.1203 1.42741,18.0489 1.79312,18.9776 2.33111,19.8264 3.01434,20.5451 3.69773,21.2639 4.51341,21.8387 5.41703,22.2324 6.32086,22.6262 7.29262,22.83 8.27607,22.83L13.563,22.83 13.563,19.6579 8.27607,19.6579C7.7321,19.6579 7.19139,19.5453 6.68406,19.3243 6.17652,19.1031 5.70999,18.7767 5.31333,18.3594 4.91651,17.942 4.59775,17.4422 4.37894,16.8866 4.1601,16.3308 4.04656,15.7326 4.04656,15.1268 4.04656,14.5209 4.1601,13.9227 4.37894,13.367 4.59775,12.8114 4.91651,12.3115 5.31333,11.8941 5.70999,11.4769 6.17652,11.1505 6.68406,10.9293 7.19139,10.7083 7.7321,10.5957 8.27607,10.5957L15.2859,10.5957 15.2859,16.8493z"
IsEnabledBinding="{Binding ElementName=BtnRedo, Path=IsEnabled}"
ButtonMouseUp="SymbolIconRedo_MouseUp" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
2025-09-21 01:15:01 +08:00
<Border CornerRadius="5,5,5,5" Background="{DynamicResource BoardFloatBarBackground}">
<ikw:SimpleStackPanel Orientation="Horizontal">
2026-04-17 06:23:49 +08:00
<controls:BoardToolbarButton x:Name="BoardTools"
Position="First"
Label="{i18n:I18n Key=Board_Tools}"
IconGeometry="F1 M24,24z M0,0z M3.336,1.17001C2.13975,1.17001,1.17,2.13976,1.17,3.33601L1.17,8.75101C1.17,9.94726,2.13975,10.917,3.336,10.917L8.751,10.917C9.94725,10.917,10.917,9.94726,10.917,8.75101L10.917,3.33601C10.917,2.13976,9.94725,1.17001,8.751,1.17001L3.336,1.17001z M15.249,1.17001C14.0527,1.17001,13.083,2.13976,13.083,3.33601L13.083,8.75101C13.083,9.94726,14.0527,10.917,15.249,10.917L20.664,10.917C21.8602,10.917,22.83,9.94726,22.83,8.75101L22.83,3.33601C22.83,2.13976,21.8602,1.17001,20.664,1.17001L15.249,1.17001z M3.336,13.083C2.13975,13.083,1.17,14.0528,1.17,15.249L1.17,20.664C1.17,21.8603,2.13975,22.83,3.336,22.83L8.751,22.83C9.94725,22.83,10.917,21.8603,10.917,20.664L10.917,15.249C10.917,14.0528,9.94725,13.083,8.751,13.083L3.336,13.083z M15.249,13.083C14.0527,13.083,13.083,14.0528,13.083,15.249L13.083,20.664C13.083,21.8603,14.0527,22.83,15.249,22.83L20.664,22.83C21.8602,22.83,22.83,21.8603,22.83,20.664L22.83,15.249C22.83,14.0528,21.8602,13.083,20.664,13.083L15.249,13.083z"
ButtonMouseUp="SymbolIconTools_MouseUp" />
2026-04-17 06:23:49 +08:00
<controls:BoardToolbarButton x:Name="BoardExit"
Position="Last"
Label="{i18n:I18n Key=Board_Exit}"
IconGeometry="F0 M24,24z M0,0z M12,23.4102C18.3017,23.4102 23.4102,18.3017 23.4102,12 23.4102,5.69834 18.3017,0.589813 12,0.589813 5.69834,0.589813 0.589813,5.69834 0.589813,12 0.589813,18.3017 5.69834,23.4102 12,23.4102z M8.25212,6.38964C7.73781,5.87533 6.90395,5.87533 6.38964,6.38964 5.87533,6.90395 5.87533,7.73781 6.38964,8.25212L10.1375,12 6.38964,15.7479C5.87533,16.2622 5.87533,17.0961 6.38964,17.6104 6.90395,18.1247 7.73781,18.1247 8.25212,17.6104L12,13.8625 15.7479,17.6104C16.2622,18.1247 17.0961,18.1247 17.6104,17.6104 18.1247,17.0961 18.1247,16.2622 17.6104,15.7479L13.8625,12 17.6104,8.25212C18.1247,7.73781 18.1247,6.90395 17.6104,6.38964 17.0961,5.87533 16.2622,5.87533 15.7479,6.38964L12,10.1375 8.25212,6.38964z"
ButtonMouseUp="ImageBlackboard_MouseUp" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Grid>
</Viewbox>
<Popup x:Name="BoardBorderToolsPopup"
PlacementTarget="{Binding ElementName=BoardTools}"
Placement="Custom"
AllowsTransparency="True"
StaysOpen="True"
IsOpen="False">
<Border x:Name="BoardBorderTools"
CornerRadius="6" Background="{DynamicResource SettingsPageBackground}" Opacity="1"
BorderThickness="1"
BorderBrush="#2563eb">
<ikw:SimpleStackPanel Margin="0,0,0,0">
<Border BorderBrush="#1e3a8a" BorderThickness="0,0,0,1"
CornerRadius="4,4,0,0" ClipToBounds="True"
Background="#2563eb">
<Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Text="{i18n:I18n Key=Tools_MoreFeaturesTitle}" Foreground="White"
VerticalAlignment="Center" Grid.Column="0"
FontSize="11" FontWeight="Bold" />
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.ChromeCloseContrast}"
Foreground="White" FontSize="12"
VerticalAlignment="Center"
Grid.Column="1"
MouseDown="Border_MouseDown"
MouseUp="CloseBordertools_MouseUp" />
</Grid>
</Border>
<ikw:SimpleStackPanel Margin="10,3,10,2" Spacing="2">
<ikw:SimpleStackPanel.Resources>
<Style TargetType="Label" BasedOn="{StaticResource AutoFitToolPopupLabel8}" />
</ikw:SimpleStackPanel.Resources>
<ikw:SimpleStackPanel Height="40" Orientation="Horizontal">
<controls:ToolMenuButton x:Name="BoardTimerToolBtn" ButtonMouseUp="ImageCountdownTimer_MouseUp" Label="{i18n:I18n Key=Tools_Timer}" />
<controls:ToolMenuButton x:Name="BoardRandomDrawToolBtn" Visibility="Collapsed" ButtonMouseUp="SymbolIconRand_MouseUp" Label="{i18n:I18n Key=Tools_RandomDraw}" />
<controls:ToolMenuButton x:Name="BoardSingleDrawToolBtn" Visibility="Collapsed" ButtonMouseUp="SymbolIconRandOne_MouseUp" Label="{i18n:I18n Key=Tools_SingleDraw}" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Height="40" Orientation="Horizontal">
<controls:ToolMenuButton x:Name="BoardSaveToolBtn" ButtonMouseDown="Border_MouseDown" ButtonMouseUp="SymbolIconSaveStrokes_MouseUp" Label="{i18n:I18n Key=Tools_Save}" />
<controls:ToolMenuButton x:Name="BoardOpenToolBtn" ButtonMouseDown="Border_MouseDown" ButtonMouseUp="SymbolIconOpenStrokes_MouseUp" Label="{i18n:I18n Key=Tools_Open}" />
<controls:ToolMenuButton x:Name="BoardReplayToolBtn" ButtonMouseUp="GridInkReplayButton_MouseUp" Label="{i18n:I18n Key=Tools_Replay}" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Height="40" Orientation="Horizontal">
<controls:ToolMenuButton x:Name="BoardScreenshotToolBtn" ButtonMouseUp="SymbolIconScreenshot_MouseUp" Label="{i18n:I18n Key=Tools_Screenshot}" />
<controls:ToolMenuButton x:Name="BoardManualToolBtn" ButtonMouseUp="OperatingGuideWindowIcon_MouseUp" Label="{i18n:I18n Key=Tools_Manual}" />
<controls:ToolMenuButton x:Name="BoardSettingsToolBtn" ButtonMouseUp="SymbolIconSettings_Click" Label="{i18n:I18n Key=Tools_Settings}" />
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
</Border>
</Popup>
2025-05-25 09:29:48 +08:00
<!-- 右下角 -->
<Viewbox x:Name="ViewboxBlackboardRightSide" Margin="3,0,0,0" Height="55"
HorizontalAlignment="Right" VerticalAlignment="Bottom">
2025-05-25 09:29:48 +08:00
<Grid Name="BlackboardRightSide" Visibility="Visible" Margin="0,0,0,3" Height="50"
HorizontalAlignment="Center" VerticalAlignment="Bottom">
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="5">
2026-04-17 06:39:27 +08:00
<controls:BoardToolbarButton x:Name="BtnWhiteBoardAddBoard"
Position="Single"
Label="{i18n:I18n Key=Board_NewPage}"
IconGeometry="F0 M24,24z M0,0z M7.39778,13.723L10.7693,13.723 10.7693,10.3514 13.2307,10.3514 13.2307,13.723 16.6022,13.723 16.6022,16.1843 13.2307,16.1843 13.2307,19.5559 10.7693,19.5559 10.7693,16.1843 7.39778,16.1843 7.39778,13.723z M3.1391,1.17001L3.1391,22.83 20.8609,22.83 20.8609,6.66948 15.3614,1.17002 3.1391,1.17001z M12.9846,3.13911L5.10819,3.1391 5.10819,20.8609 18.8918,20.8609 18.8918,9.04638 12.9846,9.04638 12.9846,3.13911z M18.484,7.07729L14.9536,3.54692 14.9536,7.07729 18.484,7.07729z"
2026-04-17 09:26:29 +08:00
ButtonMouseUp="BoardBtnWhiteBoardAdd_MouseUp" />
2025-09-21 01:06:42 +08:00
<Border CornerRadius="5,5,5,5" Background="{DynamicResource BoardFloatBarBackground}" Margin="0,0,0,0">
<ikw:SimpleStackPanel Orientation="Horizontal">
2026-04-17 06:39:27 +08:00
<controls:BoardToolbarButton x:Name="BtnRightWhiteBoardSwitchPrevious"
Position="First"
Label="{i18n:I18n Key=Board_PreviousPage}"
IconGeometry="F1 M24,24z M0,0z M7.40091,10.456L14.5033,3.35357 12.3198,1.17001 1.48978,12 12.3198,22.83 14.5033,20.6465 7.40089,13.544 22.5102,13.544 22.5102,10.456 7.40091,10.456z"
IsEnabledBinding="{Binding ElementName=BtnWhiteBoardSwitchPrevious, Path=IsEnabled}"
2026-04-17 09:26:29 +08:00
ButtonMouseUp="BoardBtnWhiteBoardSwitchPrevious_MouseUp" />
2025-05-25 09:29:48 +08:00
<Border Width="75" Height="50" MouseUp="BtnWhiteBoardPageIndex_Click"
Name="BtnRightPageListWB"
2025-09-21 01:06:42 +08:00
BorderThickness="1,1,1,1" BorderBrush="{DynamicResource BoardFloatBarBorderBrush}" Background="{DynamicResource BoardFloatBarBackground}"
2026-01-18 04:05:55 +08:00
Opacity="1">
2025-05-25 09:29:48 +08:00
<Grid Margin="6,6,6,4">
<TextBlock HorizontalAlignment="Center"
Text="{Binding ElementName=TextBlockWhiteBoardIndexInfo, Path=Text}"
Margin="0,-1,0,0" FontSize="17" FontWeight="Bold"
TextAlignment="Center" />
2026-03-03 14:08:01 +08:00
<TextBlock Text="{i18n:I18n Key=Board_Page}" Foreground="{DynamicResource FloatBarForeground}" VerticalAlignment="Bottom"
2026-03-03 17:22:48 +08:00
HorizontalAlignment="Center" FontSize="12" Style="{StaticResource AutoFitFloatBarLabel12}" />
2025-05-25 09:29:48 +08:00
</Grid>
</Border>
<Grid Width="0" Margin="0,0,0,5">
<Border ClipToBounds="True" Name="BoardBorderRightPageListView"
Margin="-138,-465,-56,50"
CornerRadius="8"
2025-09-21 02:05:49 +08:00
Background="{DynamicResource FloatBarBackground}" Opacity="1" BorderBrush="{DynamicResource BoardFloatBarBorderBrush}"
2025-05-25 09:29:48 +08:00
BorderThickness="1">
<ui:ScrollViewerEx Name="BlackBoardRightSidePageListScrollViewer"
Height="460"
VerticalScrollBarVisibility="Hidden"
2025-07-21 10:14:21 +08:00
ForceUseSmoothScroll="True"
PanningMode="VerticalOnly"
IsManipulationEnabled="True">
2025-05-25 09:29:48 +08:00
<ListView ScrollViewer.CanContentScroll="False" SelectionMode="Single"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
ScrollViewer.VerticalScrollBarVisibility="Disabled"
Name="BlackBoardRightSidePageListView">
<ListView.ItemTemplate>
<DataTemplate>
<ikw:SimpleStackPanel Orientation="Vertical"
2025-05-25 09:29:48 +08:00
MouseUp="BlackBoardRightSidePageListView_OnMouseUp">
2025-09-21 01:06:42 +08:00
<Border Margin="0,4" Width="160" BorderBrush="{DynamicResource BoardFloatBarBorderBrush}"
2025-05-25 09:29:48 +08:00
BorderThickness="1">
<Grid>
2026-02-23 13:20:52 +08:00
<Viewbox Width="160" Height="120" Stretch="Uniform">
2025-05-25 09:29:48 +08:00
<InkCanvas EditingMode="None"
Background="{Binding ElementName=GridBackgroundCover, Path=Background}"
Strokes="{Binding Strokes}"
Width="{Binding ElementName=inkCanvas, Path=ActualWidth}"
Height="{Binding ElementName=inkCanvas, Path=ActualHeight}">
</InkCanvas>
</Viewbox>
<Border Margin="4" Width="36" Height="20"
CornerRadius="3" HorizontalAlignment="Left"
VerticalAlignment="Top"
Background="#cc09090b">
<TextBlock FontSize="14"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="Consolas"
Foreground="White"
Text="{Binding Index}">
</TextBlock>
</Border>
2026-02-22 12:23:13 +08:00
<Button Width="24" Height="24" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="4"
2026-03-03 14:08:01 +08:00
ToolTip="{i18n:I18n Key=Board_DeleteThisPage}"
2026-02-22 12:23:13 +08:00
Click="WhiteBoardPageListItem_DeleteClick"
Background="#CC000000" Foreground="White"
BorderThickness="0" Padding="0" Cursor="Hand">
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Delete}" />
2026-02-22 12:23:13 +08:00
</Button>
2025-05-25 09:29:48 +08:00
</Grid>
</Border>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ui:ScrollViewerEx>
</Border>
</Grid>
2026-04-17 06:39:27 +08:00
<controls:BoardToolbarButton x:Name="BtnRightWhiteBoardSwitchNext"
Position="Last"
Label="{i18n:I18n Key=Board_NextPage}"
IconGeometry="F1 M24,24z M0,0z M16.5991,10.456L9.49667,3.35357 11.6802,1.17001 22.5102,12 11.6802,22.83 9.49667,20.6465 16.5991,13.544 1.48978,13.544 1.48978,10.456 16.5991,10.456z"
IsEnabledBinding="{Binding ElementName=BtnWhiteBoardSwitchNext, Path=IsEnabled}"
2026-04-17 09:26:29 +08:00
ButtonMouseUp="BoardBtnWhiteBoardSwitchNext_MouseUp" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Grid>
</Viewbox>
<ikw:SimpleStackPanel Spacing="10" Orientation="Horizontal"
2025-05-25 09:29:48 +08:00
VerticalAlignment="Bottom"
HorizontalAlignment="Right"
Height="50" Margin="10"
Visibility="Collapsed">
2026-04-10 20:22:09 +08:00
<Button Name="BtnWhiteBoardAdd"
2025-05-25 09:29:48 +08:00
Width="50" Height="48" FontSize="26" Click="BtnWhiteBoardAdd_Click"
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}">
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Add}" />
2025-05-25 09:29:48 +08:00
</Button>
<Button Name="BtnWhiteBoardSwitchPrevious" FontFamily="Symbol"
Width="50" Height="48" FontSize="25" Click="BtnWhiteBoardSwitchPrevious_Click"
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}"
VerticalContentAlignment="Center"
IsEnabled="False" IsEnabledChanged="Btn_IsEnabledChanged">
<Image RenderTransformOrigin="0.5,0.5" Opacity="0.25">
<Image.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="-90" />
<TranslateTransform />
</TransformGroup>
</Image.RenderTransform>
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 V64 H64 V0 H0 Z">
<DrawingGroup Opacity="1">
<GeometryDrawing Brush="{Binding ElementName=BtnExit, Path=Foreground}"
Geometry="F1 M64,64z M0,0z M32,26.41L16.566,41.844 14.439,39.717 32,22.156 49.561,39.717 47.434,41.844 32,26.41z" />
</DrawingGroup>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
</Button>
<Border Height="48" CornerRadius="2" Margin="3,0">
<TextBlock Name="TextBlockWhiteBoardIndexInfo"
Text="1/1"
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
VerticalAlignment="Center" HorizontalAlignment="Center"
2026-04-10 20:22:09 +08:00
2025-05-25 09:29:48 +08:00
FontSize="18" />
</Border>
<Button Name="BtnWhiteBoardSwitchNext" FontFamily="Symbol"
Width="50" Height="48" FontSize="25" Click="BtnWhiteBoardSwitchNext_Click"
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}"
VerticalContentAlignment="Center"
IsEnabled="True" IsEnabledChanged="Btn_IsEnabledChanged">
<Image RenderTransformOrigin="0.5,0.5" Opacity="0.25">
<Image.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform Angle="90" />
<TranslateTransform />
</TransformGroup>
</Image.RenderTransform>
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 V64 H64 V0 H0 Z">
<DrawingGroup Opacity="1">
<GeometryDrawing Brush="{Binding ElementName=BtnExit, Path=Foreground}"
Geometry="F1 M64,64z M0,0z M32,26.41L16.566,41.844 14.439,39.717 32,22.156 49.561,39.717 47.434,41.844 32,26.41z" />
</DrawingGroup>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
</Button>
<Button Name="BtnWhiteBoardDelete" Click="BtnWhiteBoardDelete_Click"
2026-04-10 20:22:09 +08:00
Width="50" Height="48" FontSize="26"
2025-05-25 09:29:48 +08:00
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}"
IsEnabled="False">
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Delete}" />
2025-05-25 09:29:48 +08:00
</Button>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Grid>
</Grid>
<!-- 通知弹窗 -->
<Grid Name="GridNotifications" Margin="0,110" Visibility="Collapsed" HorizontalAlignment="Center"
VerticalAlignment="Bottom">
2026-05-01 18:55:03 +08:00
<ui:InfoBar x:Name="NotificationInfoBar"
IsOpen="True"
IsClosable="False"
Severity="Warning"
Title="提醒"
MaxWidth="900"
Message="{Binding Text, ElementName=TextBlockNotice}" />
<TextBlock x:Name="TextBlockNotice" Visibility="Collapsed"
Text="{i18n:I18n Key=Notification_TestText}" />
2025-05-25 09:29:48 +08:00
</Grid>
<!--// Old UI //-->
<Viewbox Name="ViewBoxStackPanelMain" Visibility="Collapsed" Margin="10,10,10,55" HorizontalAlignment="Right"
VerticalAlignment="Bottom" Width="46">
<StackPanel Name="StackPanelMain" Width="46">
<StackPanel Name="StackPanelControl">
2026-04-10 20:22:09 +08:00
<Button Name="BtnExit" Content="{i18n:I18n Key=OldUI_Exit}"
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnExit_Click" Background="#7F909090" />
2026-04-10 20:22:09 +08:00
<Button Name="BtnThickness" Content="{i18n:I18n Key=OldUI_Thickness}" Visibility="Collapsed"
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnThickness_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}" />
2026-04-10 20:22:09 +08:00
<Button Name="BtnSwitchTheme" Content="{i18n:I18n Key=OldUI_Dark}"
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}" />
<!-- Click="BtnSwitchTheme_Click" -->
2026-04-10 20:22:09 +08:00
<Button Name="BtnSwitch" Content="{i18n:I18n Key=OldUI_Background}"
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnSwitch_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}" />
2026-04-10 20:22:09 +08:00
<Button x:Name="BtnHideInkCanvas" Content="{i18n:I18n Key=OldUI_HideCanvas}"
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnHideInkCanvas_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}" />
2026-04-10 20:22:09 +08:00
<Button x:Name="BtnCheckPPT" Visibility="Collapsed" Content="{i18n:I18n Key=OldUI_Check}"
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnCheckPPT_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}" />
<StackPanel Name="StackPanelPPTButtons">
2026-03-03 14:08:01 +08:00
<Button x:Name="BtnPPTSlideShow" Visibility="Collapsed" Content="{i18n:I18n Key=OldUI_SlideshowFromStart}"
2026-04-10 20:22:09 +08:00
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnPPTSlideShow_Click"
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}" />
2026-03-03 14:08:01 +08:00
<Button x:Name="BtnPPTSlideShowEnd" Visibility="Collapsed" Content="{i18n:I18n Key=OldUI_SlideshowEnd}"
2026-04-10 20:22:09 +08:00
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnPPTSlideShowEnd_Click"
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}" />
<StackPanel Name="StackPanelPPTControls" Visibility="Collapsed">
2026-04-10 20:22:09 +08:00
<Button x:Name="BtnPPTSlidesUp" Content="↑"
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnPPTSlidesUp_Click"
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}" />
2026-04-10 20:22:09 +08:00
<Button x:Name="BtnPPTSlidesDown" Content="↓"
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnPPTSlidesDown_Click"
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}" />
</StackPanel>
</StackPanel>
2026-04-10 20:22:09 +08:00
<Button x:Name="BtnSwitchSide" Content="⇆"
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnSwitchSide_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}" />
</StackPanel>
2026-04-10 20:22:09 +08:00
<Button x:Name="BtnHideControl" Content="⇅"
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnHideControl_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}" />
</StackPanel>
</Viewbox>
<Viewbox Name="ViewBoxStackPanelShapes" Margin="{Binding ElementName=ViewBoxStackPanelMain, Path=Margin}"
Width="46" HorizontalAlignment="Left" VerticalAlignment="Bottom" Visibility="Collapsed">
<StackPanel Name="StackPanelShapes" Width="46">
2026-03-03 14:08:01 +08:00
<Button Name="BtnFingerDragMode" Content="{i18n:I18n Key=OldUI_SingleFingerDrag}" Visibility="Visible"
2026-04-10 20:22:09 +08:00
2025-05-25 09:29:48 +08:00
Margin="0,25,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnFingerDragMode_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}" />
<StackPanel IsVisibleChanged="StackPanel_IsVisibleChanged"
Visibility="{Binding ElementName=StackPanelPPTButtons, Path=Visibility}">
<StackPanel Visibility="{Binding ElementName=StackPanelPPTControls, Path=Visibility}">
2026-04-10 20:22:09 +08:00
<Button Content="↑"
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnPPTSlidesUp_Click"
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}" />
2026-04-10 20:22:09 +08:00
<Button Content="↓"
2025-05-25 09:29:48 +08:00
Margin="0,10,0,15" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnPPTSlidesDown_Click"
Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}" />
</StackPanel>
</StackPanel>
2026-04-10 20:22:09 +08:00
<Button x:Name="BtnUndo"
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnUndo_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}"
IsEnabled="False" Visibility="Collapsed" IsEnabledChanged="Btn_IsEnabledChanged">
<StackPanel Opacity="0.2">
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Undo}" />
2026-03-03 14:08:01 +08:00
<TextBlock Text="{i18n:I18n Key=Board_Undo}" Margin="0,4,0,0" />
2025-05-25 09:29:48 +08:00
</StackPanel>
</Button>
2026-04-10 20:22:09 +08:00
<Button x:Name="BtnRedo"
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Click="BtnRedo_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}"
IsEnabled="False" Visibility="Collapsed" IsEnabledChanged="Btn_IsEnabledChanged">
<StackPanel Opacity="0.2">
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Redo}" />
2026-03-03 14:08:01 +08:00
<TextBlock Text="{i18n:I18n Key=OldUI_Restore}" Margin="0,4,0,0" />
2025-05-25 09:29:48 +08:00
</StackPanel>
</Button>
2026-03-03 14:08:01 +08:00
<Button Name="BtnClearAndHideCanvas" Content="{i18n:I18n Key=OldUI_ClearAndHide}" Visibility="Collapsed"
2026-04-10 20:22:09 +08:00
2025-05-25 09:29:48 +08:00
Margin="0,10,0,0" Width="{Binding ElementName=StackPanelMain, Path=ActualWidth}"
Block.TextAlignment="Center"
Click="BtnSelect_Click" Foreground="{Binding ElementName=BtnExit, Path=Foreground}"
Background="{Binding ElementName=BtnExit, Path=Background}" />
<Grid Name="GridForLeftSideReservedSpace"
Height="{Binding ElementName=StackPanelInfo, Path=ActualHeight}" />
</StackPanel>
</Viewbox>
<!--// PPT 工具栏 //-->
<Grid>
<Grid Visibility="Visible">
2026-05-01 13:08:26 +08:00
<localControls:PptNavBar x:Name="LeftBottomPanelForPPTNavigation"
Visibility="Collapsed"
Direction="LeftBottom"
Margin="6,0,0,6"
HorizontalAlignment="Left" VerticalAlignment="Bottom"/>
<localControls:PptNavBar x:Name="RightBottomPanelForPPTNavigation"
Visibility="Collapsed"
Direction="RightBottom"
Margin="0,0,6,6"
HorizontalAlignment="Right" VerticalAlignment="Bottom"/>
2025-05-25 09:29:48 +08:00
</Grid>
</Grid>
<!--// PPT 侧边翻页按钮 //-->
2026-05-01 13:08:26 +08:00
<!-- 隐藏的全局页码源:旧代码与 PPTUIManager 通过 PPTBtnPageNow/Total 设置文字 -->
<ikw:SimpleStackPanel Visibility="Collapsed">
<TextBlock Name="PPTBtnPageNow" Text="?"/>
<TextBlock Name="PPTBtnPageTotal" Text="/ ?"/>
</ikw:SimpleStackPanel>
<localControls:PptNavBar x:Name="LeftSidePanelForPPTNavigation"
Visibility="Visible"
Direction="LeftSide"
Margin="6,0,0,0"
HorizontalAlignment="Left" VerticalAlignment="Center"/>
<localControls:PptNavBar x:Name="RightSidePanelForPPTNavigation"
Visibility="Visible"
Direction="RightSide"
Margin="0,0,6,0"
HorizontalAlignment="Right" VerticalAlignment="Center"/>
2025-05-25 09:29:48 +08:00
<Grid Name="FloatingbarUIForInkReplay">
<Viewbox Name="ViewboxFloatingBar" Margin="150,250,0,0" Cursor="Arrow"
HorizontalAlignment="Left" Height="58" VerticalAlignment="Top"
2026-03-03 16:07:58 +08:00
UseLayoutRounding="True" SnapsToDevicePixels="True"
2025-05-25 09:29:48 +08:00
RenderTransformOrigin="0.5,0.5">
<Viewbox.LayoutTransform>
<ScaleTransform x:Name="ViewboxFloatingBarScaleTransform" ScaleX="1" ScaleY="1" />
</Viewbox.LayoutTransform>
<ikw:SimpleStackPanel Orientation="Horizontal">
2025-05-25 09:29:48 +08:00
<Border x:Name="BorderFloatingBarMoveControls" Width="36" Height="36" CornerRadius="5"
2025-09-21 00:25:09 +08:00
Background="{DynamicResource FloatBarBackground}" BorderThickness="1" BorderBrush="{DynamicResource FloatBarBorderBrush}"
2025-05-25 09:29:48 +08:00
MouseDown="SymbolIconEmoji_MouseDown" MouseUp="SymbolIconEmoji_MouseUp">
<ikw:SimpleStackPanel Margin="0,2,0,2" Orientation="Horizontal"
2025-05-25 09:29:48 +08:00
HorizontalAlignment="Center">
2026-03-03 16:07:58 +08:00
<Image Margin="0"
Name="FloatingbarHeadIconImg"
SnapsToDevicePixels="True"
RenderOptions.BitmapScalingMode="HighQuality"
2026-03-03 16:07:58 +08:00
Source="/Resources/Icons-png/icc.png" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
<Border Margin="2,0,0,0" Padding="2" Visibility="Visible" Height="36"
2025-09-21 00:25:09 +08:00
Name="BorderFloatingBarMainControls" Background="{DynamicResource FloatBarBackground}" CornerRadius="5"
2025-05-25 09:29:48 +08:00
BorderThickness="1"
2025-09-21 00:25:09 +08:00
BorderBrush="{DynamicResource FloatBarBorderBrush}"
2025-08-12 12:30:48 +08:00
HorizontalAlignment="Left">
2025-05-25 09:29:48 +08:00
<Grid>
<Canvas Name="FloatingbarSelectionBGCanvas" Margin="2,0,2,0">
<Border Name="FloatingbarSelectionBG" Visibility="Hidden" d:Visibility="Visible" Width="28" Height="34"
2025-05-25 09:29:48 +08:00
Canvas.Left="28" Margin="0,-2,0,-2" Background="#153b82f6">
<Canvas>
<Border Canvas.Bottom="0" Canvas.Left="8" Width="12" Height="2"
CornerRadius="1,1,0,0" Background="#2563eb" />
</Canvas>
</Border>
</Canvas>
<ikw:SimpleStackPanel Margin="2,0" Name="StackPanelFloatingBar" Orientation="Horizontal" Cursor="Arrow" HorizontalAlignment="Left">
2026-05-01 17:20:47 +08:00
<!-- Cursor_Icon / Pen_Icon 由 ToolbarRegistry 动态注入(见 Controls/Toolbar/Items/* -->
<ikw:SimpleStackPanel Width="0"
2025-05-25 09:29:48 +08:00
Orientation="{Binding ElementName=StackPanelFloatingBar, Path=Orientation}">
<Grid Margin="-14,5,14,5" Width="0" RenderTransformOrigin=" 1,0">
<Border x:Name="PenPalette" Visibility="Visible" Background="{DynamicResource FloatBarBackground}"
2025-05-25 09:29:48 +08:00
Opacity="1" BorderBrush="#2563eb"
BorderThickness="1" CornerRadius="8" Margin="-96.5,-84">
<ikw:SimpleStackPanel Margin="0,-20,0,0">
<Border BorderBrush="#1e3a8a" Height="32" BorderThickness="0,0,0,1"
2025-05-25 09:29:48 +08:00
CornerRadius="8,8,0,0" Background="#2563eb"
Margin="-1,-1,-1,0"
Padding="1,1,1,0">
<ikw:SimpleStackPanel Orientation="Vertical"
2025-05-25 09:29:48 +08:00
VerticalAlignment="Center">
<ikw:SimpleStackPanel Orientation="Horizontal"
2025-05-25 09:29:48 +08:00
HorizontalAlignment="Stretch"
Margin="8,0,0,0" Spacing="2">
<Border x:Name="DefaultPenTabButton"
2025-05-25 09:29:48 +08:00
MouseDown="SwitchToDefaultPen"
Background="#48dbeafe" Height="20" Width="36"
CornerRadius="3">
<Canvas>
<ikw:SimpleStackPanel
2025-05-25 09:29:48 +08:00
x:Name="DefaultPenTabButtonIndicator"
Visibility="Visible"
Orientation="Horizontal"
Canvas.Left="9" Canvas.Right="9"
Canvas.Bottom="0">
<Border Width="18" Height="2"
2025-09-21 00:25:09 +08:00
Background="{DynamicResource FloatBarBackground}" CornerRadius="1" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Orientation="Vertical"
2025-05-25 09:29:48 +08:00
Height="20" Width="36">
<ikw:SimpleStackPanel
2025-05-25 09:29:48 +08:00
VerticalAlignment="Center"
Orientation="Horizontal"
HorizontalAlignment="Center"
Margin="0,3">
<Image
2025-05-25 09:29:48 +08:00
Source="/Resources/new-icons/pen-white.png"
RenderOptions.BitmapScalingMode="HighQuality"
Height="13" Width="13" />
<TextBlock
2025-05-25 09:29:48 +08:00
x:Name="DefaultPenTabButtonText"
Foreground="White"
FontWeight="Medium"
FontSize="9" TextAlignment="Center"
2026-03-03 14:08:01 +08:00
Text="{i18n:I18n Key=Board_Pen}" Margin="2,1,0,0" />
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
</Canvas>
</Border>
<Border x:Name="HighlightPenTabButton"
2025-05-25 09:29:48 +08:00
MouseDown="SwitchToHighlighterPen"
Background="Transparent" Height="20" Width="52"
CornerRadius="3">
<Canvas>
<ikw:SimpleStackPanel Visibility="Collapsed"
2025-05-25 09:29:48 +08:00
x:Name="HighlightPenTabButtonIndicator"
Orientation="Horizontal" Canvas.Left="14"
Canvas.Right="14" Canvas.Bottom="0">
<Border Width="24" Height="2"
2025-09-21 00:25:09 +08:00
Background="{DynamicResource FloatBarBackground}" CornerRadius="1" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Orientation="Vertical"
2025-05-25 09:29:48 +08:00
Height="20" Width="52">
<ikw:SimpleStackPanel
2025-05-25 09:29:48 +08:00
VerticalAlignment="Center"
Orientation="Horizontal"
HorizontalAlignment="Center"
Margin="0,3">
<Image
2025-05-25 09:29:48 +08:00
Source="/Resources/new-icons/highlighter-white.png"
RenderOptions.BitmapScalingMode="HighQuality"
Height="13" Width="13" />
<TextBlock
2025-05-25 09:29:48 +08:00
x:Name="HighlightPenTabButtonText"
Foreground="White"
FontWeight="Medium"
FontSize="9" TextAlignment="Center"
2026-03-04 11:42:22 +08:00
Text="{i18n:I18n Key=Board_Highlighter}" Margin="2,1,0,0"
Width="35"
Style="{StaticResource AutoFitPenTabLabel9}" />
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
</Canvas>
</Border>
<Image Margin="66,0,0,0"
2025-05-25 09:29:48 +08:00
Source="/Resources/new-icons/close-white.png"
RenderOptions.BitmapScalingMode="HighQuality"
Height="16" Width="16"
MouseDown="Border_MouseDown"
MouseUp="CloseBordertools_MouseUp" />
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
<Viewbox Name="DefaultPenPropsPanel" Visibility="Collapsed"
2025-05-25 09:29:48 +08:00
Margin="12,8,12,0" HorizontalAlignment="Center"
VerticalAlignment="Center" Stretch="Fill">
<ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Orientation="Horizontal"
2025-08-24 09:17:58 +08:00
Height="35" Margin="0,0,0,8">
<Label Content="笔锋" Margin="0,0,6,0"
2025-08-24 09:17:58 +08:00
Foreground="{DynamicResource FloatBarForeground}"
FontSize="16" FontWeight="Bold"
VerticalAlignment="Center" />
<ComboBox Height="30" VerticalAlignment="Center"
2025-08-24 09:17:58 +08:00
Name="ComboBoxPenStyle"
2026-04-10 20:22:09 +08:00
2026-03-28 17:11:30 +08:00
SelectedIndex="1"
2025-08-24 09:17:58 +08:00
SelectionChanged="ComboBoxPenStyle_SelectionChanged">
<ComboBoxItem Content="实时笔锋"
2026-04-10 20:22:09 +08:00
/>
<ComboBoxItem Content="基于点集"
2026-04-10 20:22:09 +08:00
/>
<ComboBoxItem Content="基于速率"
2026-04-10 20:22:09 +08:00
/>
<ComboBoxItem Content="关闭笔锋"
2026-04-10 20:22:09 +08:00
/>
</ComboBox>
</ikw:SimpleStackPanel>
<Controls:UniformGrid Columns="3" Width="300" Height="55">
<ikw:SimpleStackPanel
2025-08-24 09:17:58 +08:00
x:Name="NibModeSimpleStackPanel"
Orientation="Horizontal" Width="100">
<Label Content="笔尖模式" FontSize="12"
2025-08-24 09:17:58 +08:00
VerticalAlignment="Center" />
<ui:ToggleSwitch
2025-08-24 09:17:58 +08:00
x:Name="ToggleSwitchEnableNibMode"
MinWidth="0"
2026-04-10 20:22:09 +08:00
2025-08-24 09:17:58 +08:00
Width="80" Margin="10,0,0,0"
Toggled="ToggleSwitchEnableNibMode_Toggled"
IsOn="True" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Orientation="Horizontal"
2025-08-24 09:17:58 +08:00
Width="100">
<Label Margin="0,0,10,0" Content="墨迹纠正"
2025-05-25 09:29:48 +08:00
Foreground="{DynamicResource FloatBarForeground}"
2025-08-24 09:33:27 +08:00
FontSize="12" VerticalAlignment="Center" />
<ui:ToggleSwitch
x:Name="FloatingBarToggleSwitchEnableInkToShape"
2025-08-24 09:17:58 +08:00
Foreground="{DynamicResource FloatBarForeground}"
2026-04-10 20:22:09 +08:00
Width="80"
2025-08-24 09:17:58 +08:00
Toggled="ToggleSwitchEnableInkToShape_Toggled"
MinWidth="0" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Orientation="Horizontal"
Width="100" x:Name="InkFadeControlPanel2">
<Label Margin="0,0,10,0" Content="墨迹渐隐"
2025-08-24 09:17:58 +08:00
Foreground="{DynamicResource FloatBarForeground}"
2025-08-24 09:33:27 +08:00
FontSize="12" VerticalAlignment="Center" />
<ui:ToggleSwitch
2025-08-24 09:17:58 +08:00
x:Name="ToggleSwitchInkFadeInPanel2"
Foreground="{DynamicResource FloatBarForeground}"
2026-04-10 20:22:09 +08:00
Width="90"
2025-08-24 09:17:58 +08:00
Toggled="ToggleSwitchInkFadeInPanel_Toggled"
MinWidth="0"
IsOn="{Binding ElementName=ToggleSwitchInkFadeInPanel, Path=IsOn}" />
</ikw:SimpleStackPanel>
</Controls:UniformGrid>
2025-05-25 09:29:48 +08:00
<StackPanel Orientation="Horizontal" Height="30">
<Label Margin="0,0,10,0" Content="粗细" FontWeight="Bold"
2025-05-25 09:29:48 +08:00
Foreground="{DynamicResource FloatBarForeground}"
FontSize="17" VerticalAlignment="Center" />
<Slider x:Name="InkWidthSlider" Minimum="1"
2025-05-25 09:29:48 +08:00
Maximum="20"
2026-04-10 20:22:09 +08:00
Width="200"
2025-05-25 09:29:48 +08:00
FontSize="20" IsSnapToTickEnabled="True"
Value="5"
TickFrequency="0.1" TickPlacement="None"
ValueChanged="InkWidthSlider_ValueChanged" />
<TextBlock Width="36" TextAlignment="Right"
2025-05-25 09:29:48 +08:00
Text="{Binding Value, ElementName=InkWidthSlider, Mode=OneWay}"
2026-02-14 15:33:21 +08:00
FontFamily="Consolas" VerticalAlignment="Center"
Margin="10,0,0,0" FontSize="15" />
<Button x:Name="BoardBrushModeButton" Width="24" Height="24" Margin="8,0,0,0"
2026-02-14 13:47:44 +08:00
Style="{StaticResource NavButton}"
2026-02-14 13:12:39 +08:00
VerticalAlignment="Center"
2026-02-14 13:47:44 +08:00
Click="BoardBrushModeButton_Click"
2026-02-14 13:12:39 +08:00
ToolTip="板刷模式">
<Viewbox Margin="4" Stretch="Uniform">
<Path x:Name="BoardBrushModeIcon" Fill="{DynamicResource FloatBarForeground}" Stretch="Fill">
<Path.Data>
<PathGeometry Figures="M6.7812 6.9375C6.81411 7.06468 6.87172 7.18413 6.95081 7.28903C7.0299 7.39392 7.12891 7.4822 7.24213 7.54882C7.47058 7.68347 7.74313 7.72187 7.99989 7.65557C8.25664 7.58928 8.47657 7.42372 8.61128 7.19531L11.9238 1.57031C12.0584 1.34186 12.0968 1.06928 12.0305 0.812526C11.9642 0.555772 11.7987 0.335869 11.5703 0.201167C11.3418 0.0665197 11.0693 0.028121 10.8125 0.0944166C10.5558 0.160712 10.3358 0.326268 10.2011 0.554683L6.88862 6.17968C6.82183 6.29276 6.77796 6.41788 6.75953 6.54791C6.7411 6.67793 6.74847 6.81031 6.7812 6.9375Z M5.21875 5.09375L10.1662 8.14759C10.7697 8.46231 10.9861 9.26072 10.3308 9.74464L9.70892 9.96117L3.6897 6.43971L3.7074 5.53239C3.99623 4.94715 4.46209 4.71653 5.21875 5.09375Z M3.05377 7.48846L9.04364 10.9631L7.99908 12.5052C7.77811 12.7482 7.86648 13.0797 8.08746 13.2123L9.03766 14.0298H3.66809C1.47755 14.0298 0.471255 11.9653 1.52466 10.1408L3.05377 7.48846Z" />
</Path.Data>
</Path>
</Viewbox>
</Button>
</StackPanel>
<StackPanel Orientation="Horizontal" Height="30">
<Label Margin="0,0,10,0" Content="透明" FontWeight="Bold"
2025-05-25 09:29:48 +08:00
Foreground="{DynamicResource FloatBarForeground}"
FontSize="17" VerticalAlignment="Center" />
<Slider x:Name="InkAlphaSlider" Margin="0,0,0,0"
2026-02-14 13:47:44 +08:00
Minimum="1" Maximum="255" Width="200"
2026-04-10 20:22:09 +08:00
FontSize="20"
2025-05-25 09:29:48 +08:00
IsSnapToTickEnabled="True" Value="255"
TickFrequency="1"
TickPlacement="None"
ValueChanged="InkAlphaSlider_ValueChanged" />
<TextBlock Width="36" TextAlignment="Right"
2025-05-25 09:29:48 +08:00
Text="{Binding Value, ElementName=InkAlphaSlider, Mode=OneWay}"
2026-02-14 15:33:21 +08:00
FontFamily="Consolas" VerticalAlignment="Center"
Margin="10,0,0,0" FontSize="15" />
</StackPanel>
</ikw:SimpleStackPanel>
</Viewbox>
<Viewbox Name="HighlighterPenPropsPanel" Margin="12,8,12,0"
2025-05-25 09:29:48 +08:00
HorizontalAlignment="Center" VerticalAlignment="Center"
Stretch="Fill">
<ikw:SimpleStackPanel>
<StackPanel Orientation="Horizontal" Height="30">
<Label Margin="0,0,10,0" Content="粗细" FontWeight="Bold"
2025-05-25 09:29:48 +08:00
Foreground="{DynamicResource FloatBarForeground}"
FontSize="17" VerticalAlignment="Center" />
<Slider x:Name="HighlighterWidthSlider" Minimum="15"
2025-05-25 09:29:48 +08:00
Maximum="45" Width="208"
2026-04-10 20:22:09 +08:00
FontSize="20"
2025-05-25 09:29:48 +08:00
IsSnapToTickEnabled="True" Value="20"
TickFrequency="1" TickPlacement="None"
ValueChanged="HighlighterWidthSlider_ValueChanged" />
<TextBlock
2025-05-25 09:29:48 +08:00
Text="{Binding Value, ElementName=HighlighterWidthSlider, Mode=OneWay}"
FontFamily="Consolas" VerticalAlignment="Bottom"
Margin="10,0,0,4.5" FontSize="15" />
</StackPanel>
</ikw:SimpleStackPanel>
</Viewbox>
<Viewbox x:Name="DefaultPenColorsPanel" Visibility="Collapsed"
2025-05-25 09:29:48 +08:00
Margin="0,8,0,0" Stretch="Fill">
<ikw:SimpleStackPanel Width="300" Margin="0,0,0,0">
<!--<TextBlock FontSize="25">画笔颜色</TextBlock>-->
<Border Width="300" Height="100" BorderBrush="Black"
2025-05-25 09:29:48 +08:00
BorderThickness="0" CornerRadius="5">
<Controls:UniformGrid Rows="2" Height="100">
<ikw:SimpleStackPanel Height="45"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal" Width="270">
<Controls:UniformGrid Columns="5" Width="270"
2025-05-25 09:29:48 +08:00
Margin="0">
<Border BorderBrush="{DynamicResource FloatBarBorderBrush}"
2025-05-25 09:29:48 +08:00
BorderThickness="1"
CornerRadius="100" Width="45"
MouseDown="Border_MouseDown"
MouseUp="ColorThemeSwitch_MouseUp">
<Grid Margin="3">
<Image
2025-05-25 09:29:48 +08:00
x:Name="ColorThemeSwitchIcon"
Source="/Resources/Icons-Fluent/ic_fluent_weather_sunny_24_regular.png"
RenderOptions.BitmapScalingMode="HighQuality"
VerticalAlignment="Top"
Width="23"
Height="23" Margin="0,0,0,0" />
<TextBlock Margin="0,0,0,2"
2025-05-25 09:29:48 +08:00
x:Name="ColorThemeSwitchTextBlock"
2025-09-21 00:25:09 +08:00
Text="亮系" Foreground="{DynamicResource FloatBarForeground}"
2025-05-25 09:29:48 +08:00
VerticalAlignment="Bottom"
HorizontalAlignment="Center"
FontSize="11" />
</Grid>
</Border>
<controls:PenColorButton x:Name="BorderPenColorBlack" Color="Black" BorderBrushColor="#D3D3D3" CheckIconSource="/Resources/new-icons/checked-white.png" ButtonMouseUp="BtnColorBlack_Click" />
<controls:PenColorButton x:Name="BorderPenColorWhite" Color="White" BorderBrushColor="#71717a" CheckIconSource="/Resources/new-icons/checked-black.png" ButtonMouseUp="BtnColorWhite_Click" />
<controls:PenColorButton x:Name="BorderPenColorRed" Color="#dc2626" BorderBrushColor="#7f1d1d" ButtonMouseUp="BtnColorRed_Click" />
<controls:PenColorButton x:Name="BorderPenColorYellow" Color="#eab308" BorderBrushColor="#713f12" ButtonMouseUp="BtnColorYellow_Click" />
</Controls:UniformGrid>
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Height="45"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal" Width="270">
<Controls:UniformGrid Columns="5" Width="270"
2025-05-25 09:29:48 +08:00
Margin="0">
<controls:PenColorButton x:Name="BorderPenColorGreen" Color="#16a34a" BorderBrushColor="#14532d" ButtonMouseUp="BtnColorGreen_Click" />
<controls:PenColorButton x:Name="BorderPenColorBlue" Color="#2563eb" BorderBrushColor="#1e3a8a" ButtonMouseUp="BtnColorBlue_Click" />
<controls:PenColorButton x:Name="BorderPenColorPink" Color="#db2777" BorderBrushColor="#831843" ButtonMouseUp="BtnColorPink_Click" />
<controls:PenColorButton x:Name="BorderPenColorTeal" Color="#0d9488" BorderBrushColor="#134e4a" ButtonMouseUp="BtnColorTeal_Click" />
<controls:PenColorButton x:Name="BorderPenColorOrange" Color="#ea580c" BorderBrushColor="#7c2d12" ButtonMouseUp="BtnColorOrange_Click" />
</Controls:UniformGrid>
</ikw:SimpleStackPanel>
</Controls:UniformGrid>
</Border>
</ikw:SimpleStackPanel>
</Viewbox>
<Viewbox x:Name="HighlighterPenColorsPanel" Visibility="Visible"
2025-05-25 09:29:48 +08:00
Margin="0,8,0,0" Stretch="Fill">
<ikw:SimpleStackPanel Width="300" Margin="0,0,0,0">
<Border Width="300" Height="110" BorderBrush="Black"
2025-05-25 09:29:48 +08:00
BorderThickness="0" CornerRadius="5">
<Controls:UniformGrid Rows="2" Height="110">
<ikw:SimpleStackPanel Height="45"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal" Width="270">
<Controls:UniformGrid Columns="5" Width="270"
2025-05-25 09:29:48 +08:00
Margin="0">
<controls:PenColorButton x:Name="HighlighterPenColorBlack" Color="Black" BorderBrushColor="#e4e4e7" IsHighlighter="True" ButtonMouseUp="BtnHighlighterColorBlack_Click" />
<controls:PenColorButton x:Name="HighlighterPenColorWhite" Color="White" BorderBrushColor="#dddddd" IsHighlighter="True" CheckIconSource="/Resources/new-icons/checked-black.png" ButtonMouseUp="BtnHighlighterColorWhite_Click" />
<controls:PenColorButton x:Name="HighlighterPenColorRed" Color="#ef4444" BorderBrushColor="#fecaca" IsHighlighter="True" ButtonMouseUp="BtnHighlighterColorRed_Click" />
<controls:PenColorButton x:Name="HighlighterPenColorYellow" Color="#eab308" BorderBrushColor="#fef08a" IsHighlighter="True" CheckIconSource="/Resources/new-icons/checked-black.png" ButtonMouseUp="BtnHighlighterColorYellow_Click" />
<controls:PenColorButton x:Name="HighlighterPenColorGreen" Color="#22c55e" BorderBrushColor="#bbf7d0" IsHighlighter="True" CheckIconSource="/Resources/new-icons/checked-black.png" ButtonMouseUp="BtnHighlighterColorGreen_Click" />
</Controls:UniformGrid>
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Height="45"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal" Width="270">
<Controls:UniformGrid Columns="5" Width="270"
2025-05-25 09:29:48 +08:00
Margin="0">
<controls:PenColorButton x:Name="HighlighterPenColorZinc" Color="#71717a" BorderBrushColor="#e4e4e7" IsHighlighter="True" ButtonMouseUp="BtnHighlighterColorZinc_Click" />
<controls:PenColorButton x:Name="HighlighterPenColorBlue" Color="#3b82f6" BorderBrushColor="#bfdbfe" IsHighlighter="True" ButtonMouseUp="BtnHighlighterColorBlue_Click" />
<controls:PenColorButton x:Name="HighlighterPenPenColorPurple" Color="#a855f7" BorderBrushColor="#e9d5ff" IsHighlighter="True" ButtonMouseUp="BtnHighlighterColorPurple_Click" />
<controls:PenColorButton x:Name="HighlighterPenColorTeal" Color="#14b8a6" BorderBrushColor="#99f6e4" IsHighlighter="True" CheckIconSource="/Resources/new-icons/checked-black.png" ButtonMouseUp="BtnHighlighterColorTeal_Click" />
<controls:PenColorButton x:Name="HighlighterPenColorOrange" Color="#f97316" BorderBrushColor="#fed7aa" IsHighlighter="True" ButtonMouseUp="BtnHighlighterColorOrange_Click" />
</Controls:UniformGrid>
</ikw:SimpleStackPanel>
</Controls:UniformGrid>
</Border>
</ikw:SimpleStackPanel>
</Viewbox>
</ikw:SimpleStackPanel>
</Border>
</Grid>
</ikw:SimpleStackPanel>
<!-- 快捷调色盘 - 双行显示模式 -->
<ikw:SimpleStackPanel Name="QuickColorPalettePanel"
Visibility="Collapsed" d:Visibility="Visible"
Orientation="Vertical"
HorizontalAlignment="Center"
Margin="4,0,4,0"
Width="60"
Height="42"
MaxWidth="60"
MaxHeight="42"
MinWidth="60">
<!-- 第一行:黑、白、红、橙 -->
<ikw:SimpleStackPanel Orientation="Horizontal" Margin="0,0,0,2">
<controls:ColorPickerButton x:Name="QuickColorBlack" Color="Black" CheckIconFill="White" ButtonSize="13" CheckIconSize="8"
ButtonMouseDown="FloatingBarToolBtnMouseDownFeedback_Panel" ButtonMouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel" ButtonMouseUp="QuickColorBlack_Click" ToolTip="{i18n:I18n Key=Canvas_Color_Black}"/>
<controls:ColorPickerButton x:Name="QuickColorWhite" Color="White" CheckIconFill="Black" ButtonSize="13" CheckIconSize="8"
ButtonMouseDown="FloatingBarToolBtnMouseDownFeedback_Panel" ButtonMouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel" ButtonMouseUp="QuickColorWhite_Click" ToolTip="{i18n:I18n Key=Canvas_Color_White}"/>
<controls:ColorPickerButton x:Name="QuickColorRed" Color="#FF0000" CheckIconFill="White" ButtonSize="13" CheckIconSize="8"
ButtonMouseDown="FloatingBarToolBtnMouseDownFeedback_Panel" ButtonMouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel" ButtonMouseUp="QuickColorRed_Click" ToolTip="{i18n:I18n Key=Canvas_Color_Red}"/>
<controls:ColorPickerButton x:Name="QuickColorOrange" Color="#FFA500" CheckIconFill="Black" ButtonSize="13" CheckIconSize="8"
ButtonMouseDown="FloatingBarToolBtnMouseDownFeedback_Panel" ButtonMouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel" ButtonMouseUp="QuickColorOrange_Click" ToolTip="{i18n:I18n Key=Canvas_Color_Orange}"/>
</ikw:SimpleStackPanel>
<!-- 第二行:黄、绿、蓝、紫 -->
<ikw:SimpleStackPanel Orientation="Horizontal" Margin="0,2,0,0">
<controls:ColorPickerButton x:Name="QuickColorYellow" Color="#FFFF00" CheckIconFill="Black" ButtonSize="13" CheckIconSize="8"
ButtonMouseDown="FloatingBarToolBtnMouseDownFeedback_Panel" ButtonMouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel" ButtonMouseUp="QuickColorYellow_Click" ToolTip="{i18n:I18n Key=Canvas_Color_Yellow}"/>
<controls:ColorPickerButton x:Name="QuickColorGreen" Color="#16A34A" CheckIconFill="Black" ButtonSize="13" CheckIconSize="8"
ButtonMouseDown="FloatingBarToolBtnMouseDownFeedback_Panel" ButtonMouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel" ButtonMouseUp="QuickColorGreen_Click" ToolTip="{i18n:I18n Key=Canvas_Color_Green}"/>
<controls:ColorPickerButton x:Name="QuickColorBlue" Color="#2563EB" CheckIconFill="White" ButtonSize="13" CheckIconSize="8"
ButtonMouseDown="FloatingBarToolBtnMouseDownFeedback_Panel" ButtonMouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel" ButtonMouseUp="QuickColorBlue_Click" ToolTip="{i18n:I18n Key=Canvas_Color_Blue}"/>
<controls:ColorPickerButton x:Name="QuickColorPurple" Color="#9333EA" CheckIconFill="White" ButtonSize="13" CheckIconSize="8"
ButtonMouseDown="FloatingBarToolBtnMouseDownFeedback_Panel" ButtonMouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel" ButtonMouseUp="QuickColorPurple_Click" ToolTip="{i18n:I18n Key=Canvas_Color_Purple}"/>
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
<!-- 快捷调色盘 - 单行显示模式 -->
<ikw:SimpleStackPanel Name="QuickColorPaletteSingleRowPanel"
Visibility="Collapsed" d:Visibility="Visible"
Orientation="Horizontal"
HorizontalAlignment="Center"
Margin="4,0,4,0"
Height="24"
MaxHeight="24"
MinWidth="120">
<!-- 单行显示:黑、白、红、橙、黄、绿 -->
<controls:ColorPickerButton x:Name="QuickColorBlackSingle" Color="Black" CheckIconFill="White" ButtonSize="18" CheckIconSize="10"
ButtonMouseDown="FloatingBarToolBtnMouseDownFeedback_Panel" ButtonMouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel" ButtonMouseUp="QuickColorBlack_Click" ToolTip="{i18n:I18n Key=Canvas_Color_Black}"/>
<controls:ColorPickerButton x:Name="QuickColorWhiteSingle" Color="White" CheckIconFill="Black" ButtonSize="18" CheckIconSize="10"
ButtonMouseDown="FloatingBarToolBtnMouseDownFeedback_Panel" ButtonMouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel" ButtonMouseUp="QuickColorWhite_Click" ToolTip="{i18n:I18n Key=Canvas_Color_White}"/>
<controls:ColorPickerButton x:Name="QuickColorRedSingle" Color="#FF0000" CheckIconFill="White" ButtonSize="18" CheckIconSize="10"
ButtonMouseDown="FloatingBarToolBtnMouseDownFeedback_Panel" ButtonMouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel" ButtonMouseUp="QuickColorRed_Click" ToolTip="{i18n:I18n Key=Canvas_Color_Red}"/>
<controls:ColorPickerButton x:Name="QuickColorOrangeSingle" Color="#FFA500" CheckIconFill="Black" ButtonSize="18" CheckIconSize="10"
ButtonMouseDown="FloatingBarToolBtnMouseDownFeedback_Panel" ButtonMouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel" ButtonMouseUp="QuickColorOrange_Click" ToolTip="{i18n:I18n Key=Canvas_Color_Orange}"/>
<controls:ColorPickerButton x:Name="QuickColorYellowSingle" Color="#FFFF00" CheckIconFill="Black" ButtonSize="18" CheckIconSize="10"
ButtonMouseDown="FloatingBarToolBtnMouseDownFeedback_Panel" ButtonMouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel" ButtonMouseUp="QuickColorYellow_Click" ToolTip="{i18n:I18n Key=Canvas_Color_Yellow}"/>
<controls:ColorPickerButton x:Name="QuickColorGreenSingle" Color="#16A34A" CheckIconFill="Black" ButtonSize="18" CheckIconSize="10"
ButtonMouseDown="FloatingBarToolBtnMouseDownFeedback_Panel" ButtonMouseLeave="FloatingBarToolBtnMouseLeaveFeedback_Panel" ButtonMouseUp="QuickColorGreen_Click" ToolTip="{i18n:I18n Key=Canvas_Color_Green}"/>
</ikw:SimpleStackPanel>
2026-05-01 17:20:47 +08:00
<!-- SymbolIconDelete 由 ClearToolItem 动态注入(BeforeAnchor=StackPanelCanvasControls -->
<ikw:SimpleStackPanel Name="StackPanelCanvasControls" Visibility="Visible"
Orientation="{Binding ElementName=StackPanelFloatingBar, Path=Orientation}">
2025-05-25 09:29:48 +08:00
2026-05-01 17:20:47 +08:00
<!-- Eraser_Icon / EraserByStrokes_Icon / SymbolIconSelect / ShapeDrawFloatingBarBtn 由 ToolbarRegistry 注入(Prepend -->
2025-05-25 09:29:48 +08:00
<Grid Width="0">
2025-09-21 00:25:09 +08:00
<Border x:Name="BorderDrawShape" Background="{DynamicResource FloatBarBackground}" Opacity="1"
2025-05-25 09:29:48 +08:00
Visibility="Visible" BorderBrush="#2563eb"
BorderThickness="1"
2025-08-23 23:13:39 +08:00
CornerRadius="5" Margin="-170,-140,-147,37">
2026-04-10 21:02:17 +08:00
<ikw:SimpleStackPanel Orientation="Vertical">
2025-05-25 09:29:48 +08:00
<!--<TextBlock FontSize="16" Foreground="{DynamicResource FloatBarForeground}" HorizontalAlignment="Left" Margin="10,8">
<Run Text="图形"/>
<Run Text="(第一行支持长按保持选中)" FontSize="10"/>
</TextBlock>
<ui:SymbolIcon Margin="0,-20,8,15" Symbol="Pin" MouseDown="Border_MouseDown" MouseUp="SymbolIconPinBorderDrawShape_MouseUp" Foreground="{DynamicResource FloatBarForeground}" HorizontalAlignment="Right"/>-->
2025-05-25 09:29:48 +08:00
<Border BorderBrush="#1e3a8a" BorderThickness="0,0,0,1"
CornerRadius="6,6,0,0" Background="#2563eb" Margin="-1,-1,-1,0">
<Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Text="{i18n:I18n Key=Board_Shape}" Foreground="White"
VerticalAlignment="Center" Grid.Column="0"
FontSize="11" FontWeight="Bold" />
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.ChromeCloseContrast}"
Foreground="White" FontSize="12"
VerticalAlignment="Center" Grid.Column="1"
MouseDown="Border_MouseDown"
MouseUp="CloseBordertools_MouseUp" />
</Grid>
2025-05-25 09:29:48 +08:00
</Border>
2025-08-24 09:17:58 +08:00
<ikw:SimpleStackPanel Orientation="Horizontal" Height="38" Spacing="2"
2025-05-25 09:29:48 +08:00
Margin="4,6,4,0">
2026-04-14 12:47:54 +08:00
<controls:GeometryButton x:Name="BoardImageDrawLine" IconSource="{DynamicResource GeoIconLine}" Label="{i18n:I18n Key=Geometry_DrawLine}" ButtonMouseDown="Image_MouseDown" ButtonMouseUp="BtnDrawLine_Click" />
<controls:GeometryButton x:Name="BoardImageDrawDashedLine" IconSource="{DynamicResource GeoIconDashedLine}" Label="{i18n:I18n Key=Geometry_DrawDashedLine}" ButtonMouseDown="Image_MouseDown" ButtonMouseUp="BtnDrawDashedLine_Click" />
<controls:GeometryButton x:Name="BoardImageDrawDotLine" IconSource="{DynamicResource GeoIconDotLine}" Label="{i18n:I18n Key=Geometry_DrawDottedLine}" ButtonMouseDown="Image_MouseDown" ButtonMouseUp="BtnDrawDotLine_Click" />
<controls:GeometryButton x:Name="BoardImageDrawArrow" IconSource="{DynamicResource GeoIconArrow}" Label="{i18n:I18n Key=Geometry_DrawArrow}" ButtonMouseDown="Image_MouseDown" ButtonMouseUp="BtnDrawArrow_Click" />
<controls:GeometryButton x:Name="BoardImageDrawParallelLine" IconSource="{DynamicResource GeoIconParallelLine}" Label="{i18n:I18n Key=Geometry_DrawParallelLines}" ButtonMouseDown="Image_MouseDown" ButtonMouseUp="BtnDrawParallelLine_Click" />
<controls:GeometryButton IconSource="{DynamicResource GeoIconRectangleCenter}" Label="{i18n:I18n Key=Geometry_DrawCenteredSquare}" ButtonMouseUp="BtnDrawRectangleCenter_Click" />
<controls:GeometryButton IconSource="{DynamicResource GeoIconCircle}" Label="{i18n:I18n Key=Geometry_DrawCenteredCircle}" ButtonMouseUp="BtnDrawCircle_Click" />
<controls:GeometryButton IconSource="{DynamicResource GeoIconDashedCircle}" Label="{i18n:I18n Key=Geometry_DrawCenteredDashedCircle}" ButtonMouseUp="BtnDrawDashedCircle_Click" />
<controls:GeometryButton IconSource="{DynamicResource GeoIconEllipseCenter}" Label="{i18n:I18n Key=Geometry_DrawCenteredEllipse}" ButtonMouseUp="BtnDrawCenterEllipse_Click" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Orientation="Horizontal" Height="38" Spacing="2"
2025-05-25 09:29:48 +08:00
Margin="4,0,4,6">
2026-04-14 12:47:54 +08:00
<controls:GeometryButton IconSource="{DynamicResource GeoIconCuboid}" Label="{i18n:I18n Key=Geometry_DrawCuboid}" ButtonMouseUp="BtnDrawCuboid_Click" />
<controls:GeometryButton IconSource="{DynamicResource GeoIconRectangle}" Label="{i18n:I18n Key=Geometry_DrawSquare}" ButtonMouseUp="BtnDrawRectangle_Click" />
<controls:GeometryButton IconSource="{DynamicResource GeoIconCylinder}" Label="{i18n:I18n Key=Geometry_DrawCylinder}" ButtonMouseUp="BtnDrawCylinder_Click" />
<controls:GeometryButton IconSource="{DynamicResource GeoIconCone}" Label="{i18n:I18n Key=Geometry_DrawCone}" ButtonMouseUp="BtnDrawCone_Click" />
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
</Grid>
2026-05-01 17:20:47 +08:00
<!-- SymbolIconUndo / SymbolIconRedo / CursorWithDelFloatingBarBtn 由 ToolbarRegistry 注入(Append -->
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
<Grid Width="0">
2025-07-16 09:16:36 +08:00
<Grid x:Name="BackgroundPaletteGrid" Margin="-203,-128,83,37">
<!-- 背景面板将在代码中动态添加 -->
</Grid>
2025-05-25 09:29:48 +08:00
<Border Visibility="Visible" ClipToBounds="True" Name="EraserSizePanel"
2025-09-21 00:25:09 +08:00
Margin="-203,-148,83,40" CornerRadius="5" Background="{DynamicResource FloatBarBackground}" Opacity="1"
2025-05-25 09:29:48 +08:00
BorderBrush="#2563eb" BorderThickness="1">
<ikw:SimpleStackPanel Margin="0">
2025-05-25 09:29:48 +08:00
<Border BorderBrush="#1e3a8a" BorderThickness="0,0,0,1"
CornerRadius="6,6,0,0"
Background="#2563eb" Margin="-1,-1,-1,1">
<Grid Margin="5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Text="{i18n:I18n Key=Board_EraserOptions}" Foreground="White"
VerticalAlignment="Center" Grid.Column="0"
FontSize="11" FontWeight="Bold" />
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.ChromeCloseContrast}"
Foreground="White" FontSize="12"
VerticalAlignment="Center" Grid.Column="1"
MouseDown="Border_MouseDown"
MouseUp="CloseBordertools_MouseUp" />
</Grid>
2025-05-25 09:29:48 +08:00
</Border>
2026-05-01 23:03:20 +08:00
<ikw:SimpleStackPanel Orientation="Horizontal" Margin="0,8,0,0" Spacing="2"
2025-05-25 09:29:48 +08:00
VerticalAlignment="Center"
HorizontalAlignment="Center">
2026-03-03 15:18:31 +08:00
<Label Margin="0,0,0,0" Content="{i18n:I18n Key=Board_Size}" FontWeight="Bold"
2025-05-25 09:29:48 +08:00
Foreground="{DynamicResource FloatBarForeground}" FontSize="10"
VerticalAlignment="Center" />
<Viewbox Margin="8,0,0,0" Height="20" Width="52">
<ComboBox Name="ComboBoxEraserSizeFloatingBar"
2026-04-10 20:22:09 +08:00
SelectedIndex="2"
2025-05-25 09:29:48 +08:00
SelectionChanged="ComboBoxEraserSizeFloatingBar_SelectionChanged">
2026-04-10 20:22:09 +08:00
<ComboBoxItem Content="{i18n:I18n Key=Canvas_EraserSize_VerySmall}" />
<ComboBoxItem Content="{i18n:I18n Key=Canvas_EraserSize_Small}" />
<ComboBoxItem Content="{i18n:I18n Key=Canvas_EraserSize_Medium}" />
<ComboBoxItem Content="{i18n:I18n Key=Canvas_EraserSize_Large}" />
<ComboBoxItem Content="{i18n:I18n Key=Canvas_EraserSize_VeryLarge}" />
2025-05-25 09:29:48 +08:00
</ComboBox>
</Viewbox>
</ikw:SimpleStackPanel>
2026-03-03 15:18:31 +08:00
<TextBlock HorizontalAlignment="Center" Margin="0,12,0,6" Text="{i18n:I18n Key=Board_EraserShape}"
2025-05-25 09:29:48 +08:00
FontWeight="Bold"
Foreground="{DynamicResource FloatBarForeground}"
FontSize="10" VerticalAlignment="Center" />
<ikw:SimpleStackPanel Orientation="Horizontal" HorizontalAlignment="Center"
2025-05-25 09:29:48 +08:00
Margin="0,0,0,0" Spacing="4">
<Border x:Name="CircleEraserTabButton" MouseDown="SwitchToCircleEraser"
2025-10-04 17:47:52 +08:00
Background="{DynamicResource FloatBarButtonBackgroundPointerOverKey}" Height="20" Width="40" CornerRadius="3">
2025-05-25 09:29:48 +08:00
<Canvas>
<ikw:SimpleStackPanel x:Name="CircleEraserTabButtonIndicator"
2025-05-25 09:29:48 +08:00
Visibility="Visible"
Orientation="Horizontal"
Canvas.Left="11" Canvas.Right="11"
Canvas.Bottom="0">
2025-10-04 17:47:52 +08:00
<Border Width="18" Height="2" Background="{DynamicResource FloatBarButtonButtonBackgroundPressedKey}"
2025-05-25 09:29:48 +08:00
CornerRadius="1" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Orientation="Vertical" Height="20"
2025-05-25 09:29:48 +08:00
Width="40">
<ikw:SimpleStackPanel VerticalAlignment="Center"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal"
HorizontalAlignment="Center" Margin="0,3">
<TextBlock x:Name="CircleEraserTabButtonText"
2025-10-04 17:47:52 +08:00
Foreground="{DynamicResource FloatBarForeground}" FontWeight="Medium"
2025-05-25 09:29:48 +08:00
FontSize="9" TextAlignment="Center"
2026-03-03 17:22:48 +08:00
Text="{i18n:I18n Key=Board_EraserShape_Circle}"
Style="{StaticResource AutoFitFloatBarLabel9}" />
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Canvas>
</Border>
<Border x:Name="RectangleEraserTabButton"
MouseDown="SwitchToRectangleEraser" Background="Transparent"
Height="20" Width="40" CornerRadius="3">
<Canvas>
<ikw:SimpleStackPanel Visibility="Collapsed"
2025-05-25 09:29:48 +08:00
x:Name="RectangleEraserTabButtonIndicator"
Orientation="Horizontal" Canvas.Left="11"
Canvas.Right="11" Canvas.Bottom="0">
2025-10-04 17:47:52 +08:00
<Border Width="18" Height="2" Background="{DynamicResource FloatBarButtonButtonBackgroundPressedKey}"
2025-05-25 09:29:48 +08:00
CornerRadius="1" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Orientation="Vertical" Height="20"
2025-05-25 09:29:48 +08:00
Width="40">
<ikw:SimpleStackPanel VerticalAlignment="Center"
2025-05-25 09:29:48 +08:00
Orientation="Horizontal"
HorizontalAlignment="Center" Margin="0,3">
<TextBlock x:Name="RectangleEraserTabButtonText"
2025-10-04 17:47:52 +08:00
Foreground="{DynamicResource FloatBarForeground}" FontWeight="Medium"
2025-05-25 09:29:48 +08:00
FontSize="9" TextAlignment="Center"
2026-03-03 17:22:48 +08:00
Text="{i18n:I18n Key=Board_EraserShape_Blackboard}"
Style="{StaticResource AutoFitFloatBarLabel9}" />
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Canvas>
</Border>
</ikw:SimpleStackPanel>
<Button Click="EraserPanelSymbolIconDelete_MouseUp" Foreground="White"
HorizontalAlignment="Center" Margin="0,6,0,8">
<Button.Resources>
<SolidColorBrush
x:Key="{x:Static ui:ThemeKeys.ButtonBackgroundKey}"
Color="#b91c1c" />
<SolidColorBrush
x:Key="{x:Static ui:ThemeKeys.ButtonBackgroundPointerOverKey}"
Color="#b91c1c" />
<SolidColorBrush
x:Key="{x:Static ui:ThemeKeys.ButtonBackgroundPressedKey}"
Color="#991b1b" />
</Button.Resources>
<Button.Content>
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="3">
<Image RenderOptions.BitmapScalingMode="HighQuality"
Height="12">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup
ClipGeometry="M0,0 V24 H24 V0 H0 Z">
<GeometryDrawing Brush="White"
2026-04-13 00:51:17 +08:00
Geometry="{Binding Source={x:Static icons:XamlGraphicsIconGeometries.ClearInkIconGeometry}, Converter={StaticResource StringToGeometryConverter}}"/>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
<TextBlock FontSize="10" VerticalAlignment="Center"
2026-03-03 15:18:31 +08:00
Foreground="White" FontWeight="Bold"
Text="{i18n:I18n Key=Board_ClearInk}" />
</ikw:SimpleStackPanel>
</Button.Content>
</Button>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
</Grid>
2026-05-01 17:20:47 +08:00
<ikw:SimpleStackPanel x:Name="StackPanelFloatingBarEnd"
Orientation="{Binding ElementName=StackPanelFloatingBar, Path=Orientation}">
2026-05-01 17:20:47 +08:00
<Border x:Name="FloatingBarEndSeparator" Margin="2,0,2,0" BorderBrush="#71717a" BorderThickness="1,0,0,0" />
<!-- WhiteboardFloatingBarBtn / ToolsFloatingBarBtn / Fold_Icon 由 ToolbarRegistry 注入(AfterAnchor=FloatingBarEndSeparator -->
<Grid Width="0" d:Visibility="Visible">
2025-05-25 09:29:48 +08:00
</Grid>
</ikw:SimpleStackPanel>
<Popup x:Name="BorderTools"
Placement="Custom"
AllowsTransparency="True"
StaysOpen="True"
IsOpen="False">
2026-05-02 17:36:05 +08:00
<Border CornerRadius="8" Background="{DynamicResource ToolsPopupBackground}"
BorderBrush="#3b82f6" BorderThickness="2">
<ikw:SimpleStackPanel Margin="-1">
<Grid Margin="8,7,10,5">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" VerticalAlignment="Center" FontSize="10"
Text="{i18n:I18n Key=Tools_MoreFeaturesTitle}"
2026-05-02 17:36:05 +08:00
Foreground="{DynamicResource ToolsPopupTitleForeground}" FontWeight="Bold"/>
<ui:FontIcon Grid.Column="1" Icon="{x:Static ui:SegoeFluentIcons.ChromeCloseContrast}"
Foreground="#DC2626" FontSize="8" VerticalAlignment="Center"
MouseDown="Border_MouseDown"
MouseUp="CloseBordertools_MouseUp" />
</Grid>
2026-05-02 17:36:05 +08:00
<Border Margin="6,0,6,6" BorderBrush="{DynamicResource ToolsPopupInnerBorderBrush}" Background="{DynamicResource ToolsPopupInnerBackground}" BorderThickness="1"
CornerRadius="4">
<ikw:SimpleStackPanel Margin="2" Spacing="1">
<ikw:SimpleStackPanel.Resources>
<Style TargetType="Label" BasedOn="{StaticResource AutoFitToolPopupLabel8}" />
</ikw:SimpleStackPanel.Resources>
<ikw:SimpleStackPanel Margin="0,0,0,0" Height="40" Orientation="Horizontal">
<controls:ToolMenuButton x:Name="TimerToolBtn" ButtonMouseUp="ImageCountdownTimer_MouseUp" Label="{i18n:I18n Key=Tools_Timer}" />
<controls:ToolMenuButton x:Name="RandomDrawToolBtn" ButtonMouseUp="SymbolIconRand_MouseUp" Label="{i18n:I18n Key=Tools_RandomDraw}" />
<controls:ToolMenuButton x:Name="SingleDrawToolBtn" ButtonMouseUp="SymbolIconRandOne_MouseUp" Label="{i18n:I18n Key=Tools_SingleDraw}" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Margin="0,0,0,0" Height="40" Orientation="Horizontal">
<controls:ToolMenuButton x:Name="SaveToolBtn" ButtonMouseDown="Border_MouseDown" ButtonMouseUp="SymbolIconSaveStrokes_MouseUp" Label="{i18n:I18n Key=Tools_Save}" />
<controls:ToolMenuButton x:Name="OpenToolBtn" ButtonMouseDown="Border_MouseDown" ButtonMouseUp="SymbolIconOpenStrokes_MouseUp" Label="{i18n:I18n Key=Tools_Open}" />
<controls:ToolMenuButton x:Name="ReplayToolBtn" ButtonMouseUp="GridInkReplayButton_MouseUp" Label="{i18n:I18n Key=Tools_Replay}" />
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Margin="0,0,0,0" Height="40" Orientation="Horizontal">
<controls:ToolMenuButton x:Name="ScreenshotToolBtn" ButtonMouseUp="SymbolIconScreenshot_MouseUp" Label="{i18n:I18n Key=Tools_Screenshot}" />
<controls:ToolMenuButton x:Name="ManualToolBtn" ButtonMouseUp="OperatingGuideWindowIcon_MouseUp" Label="{i18n:I18n Key=Tools_Manual}" />
<controls:ToolMenuButton x:Name="SettingsToolBtn" ButtonMouseUp="SymbolIconSettings_Click" Label="{i18n:I18n Key=Tools_Settings}" />
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
</Border>
</ikw:SimpleStackPanel>
</Border>
</Popup>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Grid>
</Border>
2026-04-11 22:46:38 +08:00
<ikw:SimpleStackPanel Orientation="{Binding ElementName=StackPanelFloatingBar, Path=Orientation}">
<Border Margin="2,0,0,0" x:Name="EnableTwoFingerGestureBorder" Visibility="Visible" Width="36"
2025-09-21 00:25:09 +08:00
Height="36" CornerRadius="5" Background="{DynamicResource FloatBarBackground}" BorderBrush="{DynamicResource FloatBarBorderBrush}"
2025-05-25 09:29:48 +08:00
BorderThickness="1">
2026-04-17 00:30:45 +08:00
<ikw:SimpleStackPanel
MouseUp="TwoFingerGestureBorder_MouseUp" Background="Transparent"
Orientation="Vertical" HorizontalAlignment="Center" Width="36" Margin="0">
<Image x:Name="EnableTwoFingerGestureBtn" Source="{DynamicResource GestureIcon}"
RenderOptions.BitmapScalingMode="HighQuality" Width="28" Height="18"
Margin="0,3,0,0" />
<TextBlock x:Name="gestureiconText" Text="{i18n:I18n Key=FloatingBar_GestureButton}" Foreground="{DynamicResource FloatBarForeground}" FontSize="8"
Margin="0,0,0,0"
TextAlignment="Center" />
</ikw:SimpleStackPanel>
</Border>
<Canvas Width="0">
<Border ClipToBounds="True" Name="TwoFingerGestureBorder" Visibility="Collapsed"
Canvas.Left="-86" Canvas.Top="-111"
CornerRadius="5"
Background="{DynamicResource FloatBarBackground}" Opacity="1" BorderBrush="#2563eb"
BorderThickness="1">
<ikw:SimpleStackPanel Margin="0">
<Border BorderBrush="#1e3a8a" BorderThickness="0,0,0,1" CornerRadius="6,6,0,0"
Background="#2563eb" Margin="-1,-1,-1,1">
<Canvas Height="24" ClipToBounds="True">
<TextBlock Text="{i18n:I18n Key=FloatingBar_GesturePanelTitle}" Canvas.Left="8" Foreground="White" Padding="0,5"
FontSize="11" FontWeight="Bold" TextAlignment="Center" />
<Image Margin="98,5,0,0"
Source="/Resources/new-icons/close-white.png"
RenderOptions.BitmapScalingMode="HighQuality"
Height="16"
Width="16" MouseDown="Border_MouseDown"
MouseUp="CloseBordertools_MouseUp" />
</Canvas>
</Border>
<ikw:SimpleStackPanel Orientation="Horizontal" Spacing="2" VerticalAlignment="Center"
HorizontalAlignment="Center" Margin="0,3,0,0">
<Image Source="{DynamicResource MultiTouchIcon}"
RenderOptions.BitmapScalingMode="HighQuality" Height="16" Width="16" />
<Label Content="{i18n:I18n Key=FloatingBar_Gesture_MultiTouchWriting}" FontSize="8"
VerticalAlignment="Center" Width="56"
Style="{StaticResource AutoFitGestureOptionLabel10}" />
<Viewbox Width="36" Height="20" Margin="2,0,0,0">
<ui:ToggleSwitch MinWidth="0" Margin="0,-6,0,-6"
Name="ToggleSwitchEnableMultiTouchMode"
IsOn="False" OnContent=""
OffContent=""
Toggled="ToggleSwitchEnableMultiTouchMode_Toggled"
RenderTransformOrigin="0.5,0.5">
<ui:ToggleSwitch.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform />
<TranslateTransform X="8" />
</TransformGroup>
</ui:ToggleSwitch.RenderTransform>
</ui:ToggleSwitch>
</Viewbox>
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel Opacity="1" x:Name="TwoFingerGestureSimpleStackPanel"
Orientation="Horizontal" Spacing="2" VerticalAlignment="Center"
HorizontalAlignment="Center">
<Image Source="{DynamicResource HandMoveIcon}"
RenderOptions.BitmapScalingMode="HighQuality" Height="16" Width="16" />
<Label Content="{i18n:I18n Key=FloatingBar_Gesture_TwoFingerMove}" FontSize="8"
VerticalAlignment="Center" Width="56"
Style="{StaticResource AutoFitGestureOptionLabel10}" />
<Viewbox Width="36" Height="20" Margin="2,0,0,0">
<ui:ToggleSwitch MinWidth="0" Margin="0,-6,0,-6"
Name="ToggleSwitchEnableTwoFingerTranslate"
IsOn="False" OnContent=""
OffContent=""
Toggled="ToggleSwitchEnableTwoFingerTranslate_Toggled"
RenderTransformOrigin="0.5,0.5">
<ui:ToggleSwitch.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform />
<TranslateTransform X="8" />
</TransformGroup>
</ui:ToggleSwitch.RenderTransform>
</ui:ToggleSwitch>
</Viewbox>
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel
Opacity="{Binding ElementName=TwoFingerGestureSimpleStackPanel, Path=Opacity}"
Orientation="Horizontal" Spacing="2" VerticalAlignment="Center"
HorizontalAlignment="Center">
<Image Source="{DynamicResource ZoomIcon}"
RenderOptions.BitmapScalingMode="HighQuality" Height="16" Width="16" />
<Label Content="{i18n:I18n Key=FloatingBar_Gesture_TwoFingerZoom}" FontSize="8"
VerticalAlignment="Center" Width="56"
Style="{StaticResource AutoFitGestureOptionLabel10}" />
<Viewbox Width="36" Height="20" Margin="2,0,0,0">
<ui:ToggleSwitch MinWidth="0" Margin="0,-6,0,-6"
2026-04-10 20:22:09 +08:00
2026-04-17 00:30:45 +08:00
IsOn="False" OnContent="" OffContent=""
Name="ToggleSwitchEnableTwoFingerZoom"
Toggled="ToggleSwitchEnableTwoFingerZoom_Toggled"
RenderTransformOrigin="0.5,0.5">
<ui:ToggleSwitch.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform />
<TranslateTransform X="8" />
</TransformGroup>
</ui:ToggleSwitch.RenderTransform>
</ui:ToggleSwitch>
</Viewbox>
</ikw:SimpleStackPanel>
<ikw:SimpleStackPanel
Opacity="{Binding ElementName=TwoFingerGestureSimpleStackPanel, Path=Opacity}"
Orientation="Horizontal" Spacing="2" VerticalAlignment="Center"
HorizontalAlignment="Center">
<Image Source="{DynamicResource RotateIcon}"
RenderOptions.BitmapScalingMode="HighQuality" Height="16" Width="16" />
<Label Content="{i18n:I18n Key=FloatingBar_Gesture_TwoFingerRotate}" FontSize="8"
VerticalAlignment="Center" Width="56"
Style="{StaticResource AutoFitGestureOptionLabel10}" />
<Viewbox Width="36" Height="20" Margin="2,0,0,0">
<ui:ToggleSwitch MinWidth="0" Margin="0,-6,0,-6"
2026-04-10 20:22:09 +08:00
2026-04-17 00:30:45 +08:00
IsOn="False" OnContent="" OffContent=""
Name="ToggleSwitchEnableTwoFingerRotation"
Toggled="ToggleSwitchEnableTwoFingerRotation_Toggled"
RenderTransformOrigin="0.5,0.5">
<ui:ToggleSwitch.RenderTransform>
<TransformGroup>
<ScaleTransform />
<SkewTransform />
<RotateTransform />
<TranslateTransform X="8" />
</TransformGroup>
</ui:ToggleSwitch.RenderTransform>
</ui:ToggleSwitch>
</Viewbox>
2025-05-25 09:29:48 +08:00
2026-04-17 00:30:45 +08:00
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
2026-04-17 00:30:45 +08:00
</Border>
</Canvas>
2026-04-11 22:46:38 +08:00
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
<!--Visibility="{Binding ElementName=BtnPPTSlideShowEnd, Path=Visibility}">-->
<Border x:Name="BorderFloatingBarExitPPTBtn" Margin="2,0,0,0" Width="36" Height="36"
2025-05-25 09:29:48 +08:00
MouseDown="Border_MouseDown" MouseUp="ImagePPTControlEnd_MouseUp"
Background="{DynamicResource FloatBarBackground}" CornerRadius="5" BorderThickness="1"
2025-05-25 09:29:48 +08:00
BorderBrush="{DynamicResource FloatBarBorderBrush}"
Visibility="{Binding ElementName=BtnPPTSlideShowEnd, Path=Visibility}">
<ikw:SimpleStackPanel Background="Transparent" Orientation="Vertical"
2025-05-25 09:29:48 +08:00
HorizontalAlignment="Center"
Width="28" Margin="0,0">
2025-10-02 17:39:56 +08:00
<Image Source="{DynamicResource QuickPanelEndSlideshowIcon}"
2025-05-25 09:29:48 +08:00
RenderOptions.BitmapScalingMode="HighQuality" Width="28" Height="17"
Margin="0,3,0,0" />
<TextBlock Text="{i18n:I18n Key=FloatingBar_ExitButton}" Foreground="{DynamicResource FloatBarForeground}" FontSize="8" Margin="0,1,0,0"
2025-05-25 09:29:48 +08:00
TextAlignment="Center" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Viewbox>
</Grid>
<Grid Name="GridForFloatingBarDraging" Background="#01000000" Visibility="Collapsed"
MouseMove="SymbolIconEmoji_MouseMove" MouseUp="SymbolIconEmoji_MouseUp" />
<Grid>
<InkCanvas Name="InkCanvasForInkReplay" MouseDown="InkCanvasForInkReplay_MouseDown" Visibility="Collapsed"
EditingMode="None" Background="Transparent" />
<Border Name="BorderInkReplayToolBox" Width="386" Height="48" HorizontalAlignment="Center"
Visibility="Collapsed"
2025-09-21 00:25:09 +08:00
VerticalAlignment="Bottom" Margin="0,0,0,16" Background="{DynamicResource FloatBarBackground}" CornerRadius="5"
2025-05-25 09:29:48 +08:00
BorderBrush="#a1a1aa" BorderThickness="1">
<ikw:SimpleStackPanel Orientation="Horizontal">
2025-05-25 09:29:48 +08:00
<Border CornerRadius="5,0,0,5" Margin="-1" Padding="12" Background="#b91c1c">
<ikw:SimpleStackPanel Orientation="Horizontal">
2025-05-25 09:29:48 +08:00
<Image Width="24" Height="24">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 V24 H24 V0 H0 Z">
<GeometryDrawing Brush="White"
Geometry="F0 M24,24z M0,0z M10.4679,3.29578C12.1914,3.08179 13.9385,3.41707 15.4604,4.25385 16.9822,5.09064 18.2013,6.38627 18.9439,7.95624 19.6865,9.5262 19.9148,11.2905 19.5963,12.9977 19.4919,13.5577 19.8611,14.0964 20.4211,14.2009 20.9811,14.3053 21.5198,13.936 21.6243,13.376 22.0224,11.2419 21.737,9.03662 20.8087,7.07416 19.8804,5.1117 18.3566,3.49216 16.4543,2.44618 14.552,1.4002 12.3681,0.981105 10.2138,1.24858 8.05937,1.51606 6.0443,2.45648 4.45553,3.9359 2.86675,5.41533 1.78526,7.35833 1.36509,9.4882 0.944914,11.6181 1.20747,13.8262 2.11537,15.7982 3.02327,17.7701 4.53022,19.4054 6.42161,20.471 8.31301,21.5366 10.4924,21.9783 12.6494,21.7331 13.2155,21.6688 13.6221,21.1578 13.5578,20.5918 13.4935,20.0258 12.9825,19.6191 12.4165,19.6834 10.6908,19.8795 8.94733,19.5262 7.43421,18.6737 5.9211,17.8212 4.71554,16.513 3.98922,14.9355 3.2629,13.3579 3.05285,11.5914 3.38899,9.88747 3.72513,8.18357 4.59032,6.62917 5.86134,5.44563 7.13237,4.26209 8.74442,3.50976 10.4679,3.29578z M11.484,5.29524C12.0536,5.29524,12.5154,5.75704,12.5154,6.32669L12.5154,11.0567 14.2762,12.8175C14.679,13.2203 14.679,13.8734 14.2762,14.2762 13.8734,14.679 13.2203,14.679 12.8175,14.2762L10.7546,12.2133C10.5612,12.0199,10.4525,11.7575,10.4525,11.484L10.4525,6.32669C10.4525,5.75704,10.9143,5.29524,11.484,5.29524z M17.1719,14.7253C16.8533,14.5341 16.4564,14.5291 16.133,14.7122 15.8097,14.8953 15.6098,15.2382 15.6098,15.6098L15.6098,21.7985C15.6098,22.1701 15.8097,22.513 16.133,22.6961 16.4564,22.8792 16.8533,22.8742 17.1719,22.683L22.3292,19.5886C22.6399,19.4022 22.83,19.0665 22.83,18.7042 22.83,18.3418 22.6399,18.0061 22.3292,17.8197L17.1719,14.7253z" />
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
<StackPanel Width="128" Orientation="Vertical" VerticalAlignment="Center" Margin="8,0,0,0">
<TextBlock Name="InkReplayPanelStatusText" FontSize="17" FontWeight="Bold" Foreground="#b91c1c"
Text="正在重播墨迹..." VerticalAlignment="Center" />
<TextBlock FontSize="12" Foreground="#b91c1c" Text="双击屏幕退出播放" VerticalAlignment="Center" />
</StackPanel>
<ikw:SimpleStackPanel Orientation="Horizontal" Margin="9,0,0,0" Spacing="6">
2025-05-25 09:29:48 +08:00
<Border Name="InkReplayPlayPauseBorder" MouseDown="InkReplayPlayPauseBorder_OnMouseDown"
MouseUp="InkReplayPlayPauseBorder_OnMouseUp" CornerRadius="16" Height="32" Width="32">
<Grid>
<Image Name="InkReplayPlayButtonImage" Visibility="Collapsed" Width="18" Height="18"
Margin="2,0,0,0">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 V16 H16 V0 H0 Z">
<GeometryDrawing Brush="#FFF2FCF3"
Geometry="F1 M16,16z M0,0z M13.5,7.13397C14.1667,7.51888,14.1667,8.48112,13.5,8.86602L4.5,14.0622C3.83333,14.4471,3,13.966,3,13.1962L3,2.80385C3,2.03405,3.83333,1.55292,4.5,1.93782L13.5,7.13397z">
<GeometryDrawing.Pen>
<Pen Brush="#FF208A3C" Thickness="1" StartLineCap="Flat"
EndLineCap="Flat" LineJoin="Miter" />
</GeometryDrawing.Pen>
</GeometryDrawing>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
<Image Name="InkReplayPauseButtonImage" Width="18" Height="18">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 V16 H16 V0 H0 Z">
<GeometryDrawing Brush="#FFEBECF0">
<GeometryDrawing.Pen>
<Pen Brush="#FF6C707E" Thickness="1" StartLineCap="Flat"
EndLineCap="Flat" LineJoin="Miter" />
</GeometryDrawing.Pen>
<GeometryDrawing.Geometry>
<RectangleGeometry RadiusX="0.5" RadiusY="0.5"
Rect="3.5,2.5,3,11" />
</GeometryDrawing.Geometry>
</GeometryDrawing>
<GeometryDrawing Brush="#FFEBECF0">
<GeometryDrawing.Pen>
<Pen Brush="#FF6C707E" Thickness="1" StartLineCap="Flat"
EndLineCap="Flat" LineJoin="Miter" />
</GeometryDrawing.Pen>
<GeometryDrawing.Geometry>
<RectangleGeometry RadiusX="0.5" RadiusY="0.5"
Rect="9.5,2.5,3,11" />
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
</Grid>
</Border>
<Border Name="InkReplayStopButtonBorder" MouseDown="InkReplayStopButtonBorder_OnMouseDown"
MouseUp="InkReplayStopButtonBorder_OnMouseUp" CornerRadius="16" Height="32" Width="32">
<Image Width="18" Height="18">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 V16 H16 V0 H0 Z">
<GeometryDrawing Brush="#FFFFF7F7">
<GeometryDrawing.Pen>
<Pen Brush="#FFDB3B4B" Thickness="1" StartLineCap="Flat"
EndLineCap="Flat" LineJoin="Miter" />
</GeometryDrawing.Pen>
<GeometryDrawing.Geometry>
<RectangleGeometry RadiusX="1.5" RadiusY="1.5"
Rect="2.5,2.5,11,11" />
</GeometryDrawing.Geometry>
</GeometryDrawing>
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
</Border>
<Border Name="InkReplayReplayButtonBorder" MouseDown="InkReplayReplayButtonBorder_OnMouseDown"
MouseUp="InkReplayReplayButtonBorder_OnMouseUp" CornerRadius="16" Height="32"
Width="32">
<Image Width="22" Height="22" Margin="-1,-1,0,0">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 V16 H16 V0 H0 Z">
<GeometryDrawing Brush="#FF208A3C"
Geometry="F0 M16,16z M0,0z M9,9.50215C9,8.32441,10.2951,7.60608,11.2942,8.22967L15.2962,10.7275C16.2372,11.3149,16.2372,12.6851,15.2962,13.2725L11.2942,15.7703C10.2951,16.3939,9,15.6756,9,14.4978L9,9.50215z M10.7647,9.07799C10.4317,8.87013,10,9.10957,10,9.50215L10,14.4978C10,14.8904,10.4317,15.1298,10.7647,14.922L14.7667,12.4241C15.0804,12.2284,15.0804,11.7716,14.7667,11.5758L10.7647,9.07799z" />
<GeometryDrawing Brush="#FFF2FCF3"
Geometry="F1 M16,16z M0,0z M10,9.50217C10,9.10959,10.4317,8.87015,10.7647,9.07801L14.7667,11.5758C15.0804,11.7716,15.0804,12.2284,14.7667,12.4242L10.7647,14.922C10.4317,15.1299,10,14.8904,10,14.4978L10,9.50217z" />
<GeometryDrawing Brush="#FF6C707E"
Geometry="F1 M16,16z M0,0z M14,1.5C14,1.22386 13.7761,1 13.5,1 13.2239,1 13,1.22386 13,1.5L13,4.68235C11.9256,3.06631 10.0877,2 8,2 4.68629,2 2,4.68629 2,8 2,11.3137 4.68629,14 8,14L8,13C5.23858,13 3,10.7614 3,8 3,5.23858 5.23858,3 8,3 9.63527,3 11.0878,3.78495 12.0005,5L9.5,5C9.22386,5 9,5.22386 9,5.5 9,5.77614 9.22386,6 9.5,6L14,6 14,1.5z" />
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
</Border>
<Border Name="InkReplaySpeedButtonBorder" MouseDown="InkReplaySpeedButtonBorder_OnMouseDown"
MouseUp="InkReplaySpeedButtonBorder_OnMouseUp" CornerRadius="16" Height="32" Width="32">
<Image Width="22" Height="22" Margin="-1,-1,-1,0">
<Image.Source>
<DrawingImage>
<DrawingImage.Drawing>
<DrawingGroup ClipGeometry="M0,0 V16 H16 V0 H0 Z">
<GeometryDrawing Brush="#FF208A3C"
Geometry="F0 M16,16z M0,0z M9,9.50215C9,8.32441,10.2951,7.60608,11.2942,8.22967L15.2962,10.7275C16.2372,11.3149,16.2372,12.6851,15.2962,13.2725L11.2942,15.7703C10.2951,16.3939,9,15.6756,9,14.4978L9,9.50215z M10.7647,9.07799C10.4317,8.87013,10,9.10957,10,9.50215L10,14.4978C10,14.8904,10.4317,15.1298,10.7647,14.922L14.7667,12.4241C15.0804,12.2284,15.0804,11.7716,14.7667,11.5758L10.7647,9.07799z" />
<GeometryDrawing Brush="#FFF2FCF3"
Geometry="F1 M16,16z M0,0z M10,9.50217C10,9.10959,10.4317,8.87015,10.7647,9.07801L14.7667,11.5758C15.0804,11.7716,15.0804,12.2284,14.7667,12.4242L10.7647,14.922C10.4317,15.1299,10,14.8904,10,14.4978L10,9.50217z" />
<GeometryDrawing Brush="#FF6C707E"
Geometry="F1 M16,16z M0,0z M1.5,9C1.5,5.41015 4.41015,2.5 8,2.5 11.5899,2.5 14.5,5.41015 14.5,9 14.5,9.01716 14.4999,9.03444 14.4997,9.05183L15.4651,9.65439C15.4879,9.42788 15.5,9.20815 15.5,9 15.5,4.85786 12.1421,1.5 8,1.5 3.85786,1.5 0.5,4.85786 0.5,9 0.5,10.1604 0.877241,11.6805 1.36637,12.7304 1.44463,12.8984 1.61594,13 1.80126,13L8,13 8,12 2.13917,12C1.76974,11.0874,1.5,9.89088,1.5,9z" />
<GeometryDrawing Brush="#FF6C707E"
Geometry="F1 M16,16z M0,0z M8,10.6L8,9.6C7.55826,9.59989 7.2002,9.24176 7.2002,8.8 7.2002,8.35817 7.55837,8 8.0002,8 8.15213,8 8.29417,8.04235 8.41515,8.11589 8.60651,7.82993 8.85445,7.58935 9.13847,7.40554 8.97934,7.27549 8.79754,7.17214 8.5999,7.10232L8.5999,3.99999C8.5999,3.66862 8.33127,3.39999 7.9999,3.39999 7.66853,3.39999 7.3999,3.66862 7.3999,3.99999L7.3999,7.10253C6.70094,7.34971 6.2002,8.01638 6.2002,8.8 6.2002,9.79405 7.00598,10.5999 8,10.6z" />
</DrawingGroup>
</DrawingImage.Drawing>
</DrawingImage>
</Image.Source>
</Image>
</Border>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<TextBlock Name="InkReplaySpeedTextBlock" Margin="4,0,0,0" FontSize="13"
2025-09-21 00:25:09 +08:00
Foreground="{DynamicResource FloatBarForeground}" Text="1.0x" VerticalAlignment="Center">
2025-05-25 09:29:48 +08:00
</TextBlock>
</StackPanel>
</ikw:SimpleStackPanel>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
</Grid>
<!--// 侧边栏 //-->
<Viewbox x:Name="LeftSidePanel" MouseUp="LeftUnFoldButtonDisplayQuickPanel_MouseUp" Visibility="Visible"
Height="50" Width="32" Margin="-60,0,0,-150" HorizontalAlignment="Left" VerticalAlignment="Center">
<ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
<Border Background="#9918181b" Opacity="1" CornerRadius="0,25,25,0" Height="50" Width="32">
<Image x:Name="LeftUnFoldBtnImgChevron" Margin="10,0,0,0"
2025-10-01 09:13:48 +08:00
Source="{DynamicResource QuickPanelUnfoldChevronIcon}"
2025-05-25 09:29:48 +08:00
RenderOptions.BitmapScalingMode="HighQuality" Height="14" Width="14" />
</Border>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Viewbox>
<Viewbox Width="50" Visibility="Collapsed" Name="LeftUnFoldButtonQuickPanel" Margin="-1,0,0,-150"
HorizontalAlignment="Left" VerticalAlignment="Center">
2025-09-21 00:25:09 +08:00
<Border ClipToBounds="True" Visibility="Visible" CornerRadius="0,6,6,0" Background="{DynamicResource FloatBarBackground}" Opacity="1"
2025-05-25 09:29:48 +08:00
BorderThickness="1" BorderBrush="{DynamicResource FloatBarBorderBrush}" Width="32">
2026-04-10 21:02:17 +08:00
<ikw:SimpleStackPanel Orientation="Vertical" Margin="0,5">
2026-04-14 12:19:36 +08:00
<controls:QuickPanelButton IconSource="{DynamicResource QuickPanelPersonMoneyIcon}" Label="{i18n:I18n Key=QuickPanel_SingleDraw}" ButtonMouseUp="SymbolIconRandOne_MouseUp" />
<controls:QuickPanelButton IconSource="{DynamicResource QuickPanelPeopleMoneyIcon}" Label="{i18n:I18n Key=QuickPanel_RandomDraw}" ButtonMouseUp="SymbolIconRand_MouseUp" />
<controls:QuickPanelButton IconSource="{DynamicResource QuickPanelTimerIcon}" Label="{i18n:I18n Key=QuickPanel_Timer}" ButtonMouseUp="ImageCountdownTimer_MouseUp" />
<controls:QuickPanelButton IconSource="{DynamicResource QuickPanelBlackboardIcon}" Label="{i18n:I18n Key=QuickPanel_Whiteboard}" ButtonMouseUp="ImageBlackboard_MouseUp" />
<controls:QuickPanelButton x:Name="BtnExitPptFromSidebarLeft" IconSource="{DynamicResource QuickPanelEndSlideshowIcon}" Label="{i18n:I18n Key=QuickPanel_ExitShow}" LabelFontSize="7" Visibility="Collapsed" ButtonMouseUp="ExitPPTSlideShow_MouseUp" />
<controls:QuickPanelButton IconSource="{DynamicResource QuickPanelEyeIcon}" Label="{i18n:I18n Key=QuickPanel_Show}" ButtonMouseUp="UnFoldFloatingBar_MouseUp" />
<controls:QuickPanelButton IconSource="{DynamicResource QuickPanelChevronLeftIcon}" ButtonMouseUp="HideQuickPanel_MouseUp" />
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
</Viewbox>
<Viewbox x:Name="RightSidePanel" MouseUp="RightUnFoldButtonDisplayQuickPanel_MouseUp"
Visibility="{Binding ElementName=LeftSidePanel, Path=Visibility}" Height="50" Width="32"
Margin="0,0,-60,-150" HorizontalAlignment="Right" VerticalAlignment="Center">
<ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
<Border Background="#9918181b" Opacity="1" CornerRadius="25,0,0,25" Height="50" Width="32">
<Image Margin="0,0,10,0" x:Name="RightUnFoldBtnImgChevron"
2025-10-01 09:13:48 +08:00
Source="{DynamicResource QuickPanelUnfoldChevronIcon}"
2025-05-25 09:29:48 +08:00
RenderOptions.BitmapScalingMode="HighQuality" Height="14" Width="14"
RenderTransformOrigin="0.5,0.5">
<Image.RenderTransform>
<TransformGroup>
<RotateTransform Angle="180" />
</TransformGroup>
</Image.RenderTransform>
</Image>
</Border>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Viewbox>
<Viewbox Width="50" Visibility="Collapsed" Name="RightUnFoldButtonQuickPanel" Margin="0,0,-1,-150"
HorizontalAlignment="Right" VerticalAlignment="Center">
2025-09-21 00:25:09 +08:00
<Border ClipToBounds="True" Visibility="Visible" CornerRadius="6,0,0,6" Background="{DynamicResource FloatBarBackground}" Opacity="1"
2025-05-25 09:29:48 +08:00
BorderThickness="1" BorderBrush="{DynamicResource FloatBarBorderBrush}" Width="32">
2026-04-10 21:02:17 +08:00
<ikw:SimpleStackPanel Orientation="Vertical" Margin="0,5">
2026-04-14 12:19:36 +08:00
<controls:QuickPanelButton IconSource="{DynamicResource QuickPanelPersonMoneyIcon}" Label="{i18n:I18n Key=QuickPanel_SingleDraw}" ButtonMouseUp="SymbolIconRandOne_MouseUp" />
<controls:QuickPanelButton IconSource="{DynamicResource QuickPanelPeopleMoneyIcon}" Label="{i18n:I18n Key=QuickPanel_RandomDraw}" ButtonMouseUp="SymbolIconRand_MouseUp" />
<controls:QuickPanelButton IconSource="{DynamicResource QuickPanelTimerIcon}" Label="{i18n:I18n Key=QuickPanel_Timer}" ButtonMouseUp="ImageCountdownTimer_MouseUp" />
<controls:QuickPanelButton IconSource="{DynamicResource QuickPanelBlackboardIcon}" Label="{i18n:I18n Key=QuickPanel_Whiteboard}" ButtonMouseUp="ImageBlackboard_MouseUp" />
<controls:QuickPanelButton x:Name="BtnExitPptFromSidebarRight" IconSource="{DynamicResource QuickPanelEndSlideshowIcon}" Label="{i18n:I18n Key=QuickPanel_ExitShow}" LabelFontSize="7" Visibility="Collapsed" ButtonMouseUp="ExitPPTSlideShow_MouseUp" />
<controls:QuickPanelButton IconSource="{DynamicResource QuickPanelEyeIcon}" Label="{i18n:I18n Key=QuickPanel_Show}" ButtonMouseUp="UnFoldFloatingBar_MouseUp" />
2026-05-02 12:33:38 +08:00
<controls:QuickPanelButton IconSource="{DynamicResource QuickPanelChevronLeftIcon}" ButtonMouseUp="HideQuickPanel_MouseUp" RenderTransformOrigin="0.5,0.5">
<controls:QuickPanelButton.RenderTransform>
<RotateTransform Angle="180" />
</controls:QuickPanelButton.RenderTransform>
</controls:QuickPanelButton>
</ikw:SimpleStackPanel>
2025-05-25 09:29:48 +08:00
</Border>
</Viewbox>
2026-02-19 18:12:19 +08:00
2026-04-23 22:17:55 +08:00
<!-- 视频展台侧栏 -->
<Border
x:Name="VideoPresenterSidebar"
Width="350"
HorizontalAlignment="Left"
VerticalAlignment="Stretch"
Background="{DynamicResource FloatBarBackground}"
BorderBrush="{DynamicResource FloatBarBorderBrush}"
BorderThickness="0,0,1,0"
Visibility="Collapsed"
Panel.ZIndex="996">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50" />
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
<RowDefinition Height="110" />
</Grid.RowDefinitions>
2026-02-19 18:12:19 +08:00
2026-04-23 22:17:55 +08:00
<!-- 顶部标题栏 -->
<Grid Grid.Row="0" Height="50">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="50" />
</Grid.ColumnDefinitions>
<TextBlock
Grid.Column="0"
Margin="15,0,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontSize="16"
FontWeight="Bold"
Foreground="{DynamicResource FloatBarForeground}"
Text="{i18n:I18n Key=Booth_Title}" />
<Button
Grid.Column="1"
Width="50"
Height="50"
Padding="0"
BorderThickness="0"
Background="Transparent"
Click="BtnCloseVideoPresenter_Click">
<Path
Stroke="{DynamicResource IconForeground}"
StrokeThickness="2"
StrokeStartLineCap="Round"
StrokeEndLineCap="Round"
Width="16"
Height="16"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Stretch="Uniform"
Data="M4.5 4.5L11.5 11.5M11.5 4.5L4.5 11.5" />
</Button>
</Grid>
<!-- 预览区域 -->
<Border Grid.Row="1" Margin="10,10,10,2" Padding="10" CornerRadius="6" Background="#1f2328">
<Image x:Name="VideoPresenterPreviewImage" Stretch="Uniform" Height="180" />
</Border>
<!-- 照片显示区域 -->
<Border Grid.Row="2" Margin="10,2,10,2" Padding="10" CornerRadius="6" Background="{DynamicResource FloatBarBackground}">
<StackPanel>
<TextBlock
Margin="0,0,0,8"
HorizontalAlignment="Left"
FontSize="12"
FontWeight="SemiBold"
Foreground="{DynamicResource FloatBarForeground}"
Text="{i18n:I18n Key=Booth_CapturedPhotos}" />
<ScrollViewer
x:Name="CapturedPhotosScrollViewer"
MaxHeight="280"
VerticalScrollBarVisibility="Auto"
PanningMode="VerticalFirst">
<StackPanel x:Name="CapturedPhotosStackPanel" Margin="0,0,0,5" />
</ScrollViewer>
</StackPanel>
</Border>
<!-- 设备选择区域 -->
<Border Grid.Row="3" Margin="10,2,10,5" Padding="10" CornerRadius="6" Background="{DynamicResource FloatBarBackground}">
<StackPanel>
<TextBlock
Margin="0,0,0,8"
HorizontalAlignment="Left"
FontSize="12"
FontWeight="SemiBold"
Foreground="{DynamicResource FloatBarForeground}"
Text="{i18n:I18n Key=Booth_CameraDevices}" />
<ScrollViewer
x:Name="CameraDevicesScrollViewer"
MaxHeight="120"
VerticalScrollBarVisibility="Auto"
PanningMode="VerticalFirst">
<StackPanel x:Name="CameraDevicesStackPanel" />
</ScrollViewer>
</StackPanel>
</Border>
<!-- 底部按钮区域 -->
<Grid Grid.Row="4" Margin="0,0,0,6">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Center" Margin="10,4,10,2">
<ToggleButton
x:Name="BtnToggleVideoPresenterLiveOnCanvas"
Width="70"
Height="40"
Margin="2,0"
Background="{DynamicResource FloatBarBackground}"
BorderBrush="{DynamicResource FloatBarBorderBrush}"
BorderThickness="1"
Checked="BtnToggleVideoPresenterLiveOnCanvas_Checked"
Unchecked="BtnToggleVideoPresenterLiveOnCanvas_Unchecked">
<TextBlock FontSize="12" FontWeight="SemiBold" Foreground="{DynamicResource FloatBarForeground}" Text="{i18n:I18n Key=Booth_Present}" />
</ToggleButton>
<ToggleButton
x:Name="ToggleBtnPhotoCorrection"
Width="70"
Height="40"
Margin="2,0"
Background="{DynamicResource FloatBarBackground}"
BorderBrush="{DynamicResource FloatBarBorderBrush}"
BorderThickness="1"
Checked="ToggleBtnPhotoCorrection_Checked"
Unchecked="ToggleBtnPhotoCorrection_Unchecked">
<TextBlock FontSize="12" FontWeight="SemiBold" Foreground="{DynamicResource FloatBarForeground}" Text="{i18n:I18n Key=Booth_Correction}" />
</ToggleButton>
<Button
x:Name="BtnCapturePhoto"
Width="70"
Height="40"
Margin="2,0"
Background="{DynamicResource FloatBarBackground}"
BorderBrush="{DynamicResource FloatBarBorderBrush}"
BorderThickness="1"
Click="BtnCapturePhoto_Click">
<TextBlock FontSize="12" FontWeight="SemiBold" Foreground="{DynamicResource FloatBarForeground}" Text="{i18n:I18n Key=Booth_Capture}" />
</Button>
<Button
x:Name="BtnRotateImage"
Width="70"
Height="40"
Margin="2,0"
Background="{DynamicResource FloatBarBackground}"
BorderBrush="{DynamicResource FloatBarBorderBrush}"
BorderThickness="1"
Click="BtnRotateImage_Click">
<TextBlock FontSize="12" FontWeight="SemiBold" Foreground="{DynamicResource FloatBarForeground}" Text="{i18n:I18n Key=Booth_Rotate}" />
</Button>
</StackPanel>
<!-- 分辨率 Tab -->
<Grid Grid.Row="1" HorizontalAlignment="Center" Margin="10,6,10,4">
<Border Background="{DynamicResource FloatBarBackground}"
CornerRadius="8" BorderThickness="1" BorderBrush="#616161"
Width="282" Height="40" ToolTip="{x:Static props:Strings.Booth_Resolution_Tooltip}">
<Grid>
<Border x:Name="BoothResolutionTabIndicator"
Background="#66CCFF"
CornerRadius="6"
Width="70" Height="38"
HorizontalAlignment="Left" VerticalAlignment="Center"
Margin="0,0,0,0"/>
<Grid>
<Button x:Name="BtnBoothResolution720" Width="70" Height="40" Background="Transparent" BorderThickness="0"
Click="BoothResolutionTab_Click" Tag="1280,720" Cursor="Hand" HorizontalAlignment="Left">
<TextBlock Text="720p" FontSize="12" FontWeight="SemiBold" Foreground="{DynamicResource FloatBarForeground}" Opacity="0.7"/>
</Button>
<Button x:Name="BtnBoothResolution1080" Width="70" Height="40" Background="Transparent" BorderThickness="0"
Click="BoothResolutionTab_Click" Tag="1920,1080" Cursor="Hand" HorizontalAlignment="Left" Margin="70,0,0,0">
<TextBlock x:Name="TbBoothResolution1080" Text="1080p" FontSize="12" FontWeight="Bold" Foreground="White"/>
</Button>
<Button x:Name="BtnBoothResolution2K" Width="70" Height="40" Background="Transparent" BorderThickness="0"
Click="BoothResolutionTab_Click" Tag="2560,1440" Cursor="Hand" HorizontalAlignment="Left" Margin="140,0,0,0">
<TextBlock Text="2K" FontSize="12" FontWeight="SemiBold" Foreground="{DynamicResource FloatBarForeground}" Opacity="0.7"/>
</Button>
<Button x:Name="BtnBoothResolution4K" Width="70" Height="40" Background="Transparent" BorderThickness="0"
Click="BoothResolutionTab_Click" Tag="3840,2160" Cursor="Hand" HorizontalAlignment="Left" Margin="210,0,0,0">
<TextBlock Text="4K" FontSize="12" FontWeight="SemiBold" Foreground="{DynamicResource FloatBarForeground}" Opacity="0.7"/>
</Button>
</Grid>
</Grid>
</Border>
</Grid>
</Grid>
</Grid>
</Border>
2025-11-29 16:27:35 +08:00
<Border x:Name="TimerContainer"
Visibility="Collapsed"
Panel.ZIndex="998"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Width="900"
Height="500">
<Windows:TimerControl x:Name="TimerControl"/>
</Border>
<Border x:Name="MinimizedTimerContainer"
Visibility="Collapsed"
Panel.ZIndex="997"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Margin="20,20,0,0"
Width="600"
Height="200">
<Windows:MinimizedTimerControl x:Name="MinimizedTimerControl"/>
</Border>
2025-12-27 22:41:24 +08:00
<Border x:Name="PPTTimeCapsuleContainer"
Visibility="Collapsed"
Panel.ZIndex="999"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Margin="0,20,20,0">
<Windows:PPTTimeCapsule x:Name="PPTTimeCapsule"/>
</Border>
2025-12-31 18:42:26 +08:00
<Border x:Name="PPTQuickPanelContainer"
Visibility="Collapsed"
Panel.ZIndex="999"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Margin="0,50,0,0">
<Windows:PPTQuickPanel x:Name="PPTQuickPanel"/>
</Border>
2025-05-25 09:29:48 +08:00
</Grid>
2025-06-27 16:47:13 +08:00
</Window>
2025-10-03 08:52:47 +08:00