#0035 优化界面设计,新增扫描模式和底部工具栏

This commit is contained in:
zhengxuan.zhang
2026-03-17 15:42:08 +08:00
parent 2b35918348
commit 0b9887c4b1
3 changed files with 396 additions and 111 deletions
+231 -56
View File
@@ -1168,6 +1168,52 @@
IconSources={StaticResource IconPaths}}"
Size="Large" />
</telerik:RadRibbonGroup>
<telerik:RadRibbonGroup
Height="92"
DialogLauncherCommand="{Binding ShowPageSetupDialog.Command}"
DialogLauncherCommandParameter="Page"
DialogLauncherVisibility="{Binding ShowPageSetupDialog.IsEnabled, Converter={StaticResource BoolToVisibilityValueConverter}}"
Header="扫描模式">
<StackPanel Margin="2">
<TextBlock Margin="0,0,0,2" Text="Gridlines" />
<telerik:RadWrapPanel Height="68" Orientation="Vertical">
<CheckBox
Margin="2"
Command="{Binding ShowGridlines.Command}"
Content="View"
IsChecked="{Binding ShowGridlines.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding ShowGridlines.IsEnabled}" />
<CheckBox
Margin="2"
Command="{Binding PrintGridlines.Command}"
Content="Print"
IsChecked="{Binding PrintGridlines.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding PrintGridlines.IsEnabled}" />
</telerik:RadWrapPanel>
</StackPanel>
<telerik:Separator />
<StackPanel Margin="2">
<TextBlock Margin="0,0,0,2" Text="Headings" />
<telerik:RadWrapPanel Height="68" Orientation="Vertical">
<CheckBox
Margin="2"
Command="{Binding ShowRowColumnHeadings.Command}"
Content="View"
IsChecked="{Binding ShowRowColumnHeadings.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding ShowRowColumnHeadings.IsEnabled}" />
<CheckBox
Margin="2"
Command="{Binding PrintRowColumnHeadings.Command}"
Content="Print"
IsChecked="{Binding PrintRowColumnHeadings.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding PrintRowColumnHeadings.IsEnabled}" />
</telerik:RadWrapPanel>
</StackPanel>
</telerik:RadRibbonGroup>
</telerik:RadRibbonTab>
<telerik:RadRibbonTab Header="插入">
@@ -1309,50 +1355,6 @@
</telerik:RadRibbonDropDownButton.DropDownContent>
</telerik:RadRibbonDropDownButton>
</telerik:RadRibbonGroup>
<telerik:RadRibbonGroup
DialogLauncherCommand="{Binding Path=ShowPageSetupDialog.Command}"
DialogLauncherCommandParameter="Page"
DialogLauncherVisibility="{Binding Path=ShowPageSetupDialog.IsEnabled, Converter={StaticResource BoolToVisibilityValueConverter}}"
Header="Sheet Options">
<StackPanel Margin="2">
<TextBlock Margin="0,0,0,2" Text="Gridlines" />
<telerik:RadWrapPanel Height="68" Orientation="Vertical">
<CheckBox
Margin="2"
Command="{Binding Path=ShowGridlines.Command}"
Content="View"
IsChecked="{Binding Path=ShowGridlines.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding Path=ShowGridlines.IsEnabled}" />
<CheckBox
Margin="2"
Command="{Binding Path=PrintGridlines.Command}"
Content="Print"
IsChecked="{Binding Path=PrintGridlines.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding Path=PrintGridlines.IsEnabled}" />
</telerik:RadWrapPanel>
</StackPanel>
<telerik:Separator />
<StackPanel Margin="2">
<TextBlock Margin="0,0,0,2" Text="Headings" />
<telerik:RadWrapPanel Height="68" Orientation="Vertical">
<CheckBox
Margin="2"
Command="{Binding Path=ShowRowColumnHeadings.Command}"
Content="View"
IsChecked="{Binding Path=ShowRowColumnHeadings.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding Path=ShowRowColumnHeadings.IsEnabled}" />
<CheckBox
Margin="2"
Command="{Binding Path=PrintRowColumnHeadings.Command}"
Content="Print"
IsChecked="{Binding Path=PrintRowColumnHeadings.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding Path=PrintRowColumnHeadings.IsEnabled}" />
</telerik:RadWrapPanel>
</StackPanel>
</telerik:RadRibbonGroup>
</telerik:RadRibbonTab>
<telerik:RadRibbonTab Header="公式">
@@ -1768,7 +1770,6 @@
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="100" />
<RowDefinition Height="250" />
<RowDefinition Height="*" />
<RowDefinition Height="300" />
</Grid.RowDefinitions>
@@ -1778,12 +1779,7 @@
Grid.RowSpan="2"
Grid.ColumnSpan="2"
Margin="0,0,0,10" />
<views:DetectorPanelView
Grid.Row="2"
Grid.RowSpan="2"
Grid.ColumnSpan="2"
Margin="0,0,0,170" />
<views:NavigationPropertyPanelView Grid.Row="3" Grid.ColumnSpan="2" />
<views:NavigationPropertyPanelView Grid.Row="2" Grid.ColumnSpan="2" />
</Grid>
</Grid>
@@ -1791,16 +1787,195 @@
<Border
Grid.Row="2"
Grid.ColumnSpan="3"
Background="#0072C6"
BorderBrush="#DDDDDD"
Background="#0060A0"
BorderBrush="#004880"
BorderThickness="0,1,0,0">
<Border.Resources>
<Style x:Key="TbBtn" TargetType="Button">
<Setter Property="MinWidth" Value="28" />
<Setter Property="Height" Value="24" />
<Setter Property="Padding" Value="5,0" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="#CCCCCC" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="FontFamily" Value="Microsoft YaHei UI" />
<Setter Property="FontSize" Value="11" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#0080D0" />
<Setter Property="Foreground" Value="White" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="#555555" />
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="TbSep" TargetType="Rectangle">
<Setter Property="Width" Value="1" />
<Setter Property="Fill" Value="#3090D0" />
<Setter Property="Margin" Value="2,4" />
</Style>
</Border.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<!-- 左侧: 功能按钮组 -->
<StackPanel
Grid.Column="0"
VerticalAlignment="Center"
Orientation="Horizontal">
<!-- 1.实时模式 -->
<Button
Content="Live"
Style="{StaticResource TbBtn}"
ToolTip="激活X射线实时模式" />
<!-- 2.加载图像 -->
<Button
Command="{Binding OpenFileCommand}"
Content="📂"
FontSize="13"
Style="{StaticResource TbBtn}"
ToolTip="加载图像" />
<!-- 3.保存图像 -->
<Button
Content="💾"
FontSize="13"
Style="{StaticResource TbBtn}"
ToolTip="保存当前X射线实时图像" />
<!-- 4.冻结图像 -->
<Button
Content="Snap"
Style="{StaticResource TbBtn}"
ToolTip="冻结当前X射线实时图像" />
<Rectangle Style="{StaticResource TbSep}" />
<!-- 5.中心十字线 -->
<Button
Content="✚"
Style="{StaticResource TbBtn}"
ToolTip="中心十字线" />
<!-- 6.行灰度分布 -->
<Button
Content="📊"
FontSize="13"
Style="{StaticResource TbBtn}"
ToolTip="行灰度分布" />
<!-- 7.画圆 -->
<Button
Content="○"
Style="{StaticResource TbBtn}"
ToolTip="画圆" />
<!-- 8.画圆柱 -->
<Button
Content="▭"
Style="{StaticResource TbBtn}"
ToolTip="画圆柱" />
<!-- 9.白背景检测黑区域 -->
<Button
Content="◻"
Style="{StaticResource TbBtn}"
ToolTip="白背景检测黑区域" />
<!-- 10.黑背景检测白区域 -->
<Button
Content="◼"
Style="{StaticResource TbBtn}"
ToolTip="黑背景检测白区域" />
<Rectangle Style="{StaticResource TbSep}" />
<!-- 11.ΣGv 图像信息 -->
<Button
Content="ΣGv"
Style="{StaticResource TbBtn}"
ToolTip="在主界面显示图像信息" />
<!-- 12.Dose 自动化检测 -->
<Button
Content="Dose"
Style="{StaticResource TbBtn}"
ToolTip="自动化检测程序" />
<!-- 13.探测器控制 -->
<Button
Content="Mats"
Style="{StaticResource TbBtn}"
ToolTip="探测器控制按钮" />
<!-- 14.关于 -->
<Button
Content="Allo"
Style="{StaticResource TbBtn}"
ToolTip="显示关于XMC窗口" />
<!-- 15.Auto -->
<Button
Content="Auto"
Style="{StaticResource TbBtn}"
ToolTip="自动模式" />
<Rectangle Style="{StaticResource TbSep}" />
<!-- 16.开门 -->
<Button
Content="🚪"
FontSize="13"
Style="{StaticResource TbBtn}"
ToolTip="开门" />
<!-- 17.关门 -->
<Button
Content="🔒"
FontSize="13"
Style="{StaticResource TbBtn}"
ToolTip="关门" />
<Rectangle Style="{StaticResource TbSep}" />
<!-- 18.Out 缩小 -->
<Button
Content="Out"
Style="{StaticResource TbBtn}"
ToolTip="缩小" />
<!-- 19.In 放大 -->
<Button
Content="In"
Style="{StaticResource TbBtn}"
ToolTip="放大" />
<Rectangle Style="{StaticResource TbSep}" />
<!-- 20.系统参数 -->
<Button
Content="i"
FontWeight="Bold"
Style="{StaticResource TbBtn}"
ToolTip="系统参数显示" />
<!-- 21.帮助 -->
<Button
Content="?"
FontWeight="Bold"
Foreground="#FF4444"
Style="{StaticResource TbBtn}"
ToolTip="帮助文档" />
</StackPanel>
<!-- 右侧: 鼠标坐标 + RGB -->
<TextBlock
Grid.Column="1"
HorizontalAlignment="Left"
Margin="8,0"
VerticalAlignment="Center"
Foreground="White"
Text="就绪" />
FontFamily="Consolas"
FontSize="11"
Foreground="#AAAAAA"
Text="x: 0 y: 0 RGB: 0 0 0" />
<!-- 防撞标识 -->
<Border
Grid.Column="2"
Margin="4,2"
Padding="8,0"
Background="#228B22"
CornerRadius="2">
<TextBlock
VerticalAlignment="Center"
FontFamily="Microsoft YaHei UI"
FontSize="11"
FontWeight="Bold"
Foreground="White"
Text="CRASH ON" />
</Border>
</Grid>
</Border>
</Grid>
+149 -54
View File
@@ -30,7 +30,7 @@
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
<RowDefinition Height="24" />
<RowDefinition Height="28" />
</Grid.RowDefinitions>
<telerik:RadRibbonView
@@ -1164,6 +1164,51 @@
IconSources={StaticResource IconPaths}}"
Size="Large" />
</telerik:RadRibbonGroup>
<telerik:RadRibbonGroup
Height="92"
DialogLauncherCommand="{Binding ShowPageSetupDialog.Command}"
DialogLauncherCommandParameter="Page"
DialogLauncherVisibility="{Binding ShowPageSetupDialog.IsEnabled, Converter={StaticResource BoolToVisibilityValueConverter}}"
Header="扫描模式">
<StackPanel Margin="2">
<TextBlock Margin="0,0,0,2" Text="Gridlines" />
<telerik:RadWrapPanel Height="68" Orientation="Vertical">
<CheckBox
Margin="2"
Command="{Binding ShowGridlines.Command}"
Content="View"
IsChecked="{Binding ShowGridlines.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding ShowGridlines.IsEnabled}" />
<CheckBox
Margin="2"
Command="{Binding PrintGridlines.Command}"
Content="Print"
IsChecked="{Binding PrintGridlines.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding PrintGridlines.IsEnabled}" />
</telerik:RadWrapPanel>
</StackPanel>
<telerik:Separator />
<StackPanel Margin="2">
<TextBlock Margin="0,0,0,2" Text="Headings" />
<telerik:RadWrapPanel Height="68" Orientation="Vertical">
<CheckBox
Margin="2"
Command="{Binding ShowRowColumnHeadings.Command}"
Content="View"
IsChecked="{Binding ShowRowColumnHeadings.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding ShowRowColumnHeadings.IsEnabled}" />
<CheckBox
Margin="2"
Command="{Binding PrintRowColumnHeadings.Command}"
Content="Print"
IsChecked="{Binding PrintRowColumnHeadings.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding PrintRowColumnHeadings.IsEnabled}" />
</telerik:RadWrapPanel>
</StackPanel>
</telerik:RadRibbonGroup>
</telerik:RadRibbonTab>
<telerik:RadRibbonTab Header="插入">
@@ -1305,50 +1350,6 @@
</telerik:RadRibbonDropDownButton.DropDownContent>
</telerik:RadRibbonDropDownButton>
</telerik:RadRibbonGroup>
<telerik:RadRibbonGroup
DialogLauncherCommand="{Binding Path=ShowPageSetupDialog.Command}"
DialogLauncherCommandParameter="Page"
DialogLauncherVisibility="{Binding Path=ShowPageSetupDialog.IsEnabled, Converter={StaticResource BoolToVisibilityValueConverter}}"
Header="Sheet Options">
<StackPanel Margin="2">
<TextBlock Margin="0,0,0,2" Text="Gridlines" />
<telerik:RadWrapPanel Height="68" Orientation="Vertical">
<CheckBox
Margin="2"
Command="{Binding Path=ShowGridlines.Command}"
Content="View"
IsChecked="{Binding Path=ShowGridlines.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding Path=ShowGridlines.IsEnabled}" />
<CheckBox
Margin="2"
Command="{Binding Path=PrintGridlines.Command}"
Content="Print"
IsChecked="{Binding Path=PrintGridlines.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding Path=PrintGridlines.IsEnabled}" />
</telerik:RadWrapPanel>
</StackPanel>
<telerik:Separator />
<StackPanel Margin="2">
<TextBlock Margin="0,0,0,2" Text="Headings" />
<telerik:RadWrapPanel Height="68" Orientation="Vertical">
<CheckBox
Margin="2"
Command="{Binding Path=ShowRowColumnHeadings.Command}"
Content="View"
IsChecked="{Binding Path=ShowRowColumnHeadings.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding Path=ShowRowColumnHeadings.IsEnabled}" />
<CheckBox
Margin="2"
Command="{Binding Path=PrintRowColumnHeadings.Command}"
Content="Print"
IsChecked="{Binding Path=PrintRowColumnHeadings.SelectedValue, Mode=TwoWay}"
IsEnabled="{Binding Path=PrintRowColumnHeadings.IsEnabled}" />
</telerik:RadWrapPanel>
</StackPanel>
</telerik:RadRibbonGroup>
</telerik:RadRibbonTab>
<telerik:RadRibbonTab Header="公式">
@@ -1922,20 +1923,114 @@
</Grid>
</Grid>
<!-- Row 2: 状态栏 -->
<!-- Row 2: 底部工具栏 -->
<Border
Grid.Row="2"
Grid.ColumnSpan="3"
Background="#0072C6"
BorderBrush="#DDDDDD"
Background="#0060A0"
BorderBrush="#004880"
BorderThickness="0,1,0,0">
<Border.Resources>
<Style x:Key="TbBtn" TargetType="Button">
<Setter Property="MinWidth" Value="28" />
<Setter Property="Height" Value="24" />
<Setter Property="Padding" Value="5,0" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="#CCCCCC" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="FontFamily" Value="Microsoft YaHei UI" />
<Setter Property="FontSize" Value="11" />
<Setter Property="Cursor" Value="Hand" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#0080D0" />
<Setter Property="Foreground" Value="White" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="#555555" />
</Trigger>
</Style.Triggers>
</Style>
<Style x:Key="TbSep" TargetType="Rectangle">
<Setter Property="Width" Value="1" />
<Setter Property="Fill" Value="#3090D0" />
<Setter Property="Margin" Value="2,4" />
</Style>
</Border.Resources>
<Grid>
<TextBlock
Grid.Column="1"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Foreground="White"
Text="就绪" />
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<!-- 左侧: 功能按钮组 -->
<StackPanel Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center">
<!-- 1.实时模式 -->
<Button Content="Live" Style="{StaticResource TbBtn}" ToolTip="激活X射线实时模式" />
<!-- 2.加载图像 -->
<Button Style="{StaticResource TbBtn}" ToolTip="加载图像"
Command="{Binding OpenFileCommand}" Content="📂" FontSize="13" />
<!-- 3.保存图像 -->
<Button Style="{StaticResource TbBtn}" ToolTip="保存当前X射线实时图像" Content="💾" FontSize="13" />
<!-- 4.冻结图像 -->
<Button Content="Snap" Style="{StaticResource TbBtn}" ToolTip="冻结当前X射线实时图像" />
<Rectangle Style="{StaticResource TbSep}" />
<!-- 5.中心十字线 -->
<Button Content="✚" Style="{StaticResource TbBtn}" ToolTip="中心十字线" />
<!-- 6.行灰度分布 -->
<Button Content="📊" FontSize="13" Style="{StaticResource TbBtn}" ToolTip="行灰度分布" />
<!-- 7.画圆 -->
<Button Content="○" Style="{StaticResource TbBtn}" ToolTip="画圆" />
<!-- 8.画圆柱 -->
<Button Content="▭" Style="{StaticResource TbBtn}" ToolTip="画圆柱" />
<!-- 9.白背景检测黑区域 -->
<Button Content="◻" Style="{StaticResource TbBtn}" ToolTip="白背景检测黑区域" />
<!-- 10.黑背景检测白区域 -->
<Button Content="◼" Style="{StaticResource TbBtn}" ToolTip="黑背景检测白区域" />
<Rectangle Style="{StaticResource TbSep}" />
<!-- 11.ΣGv 图像信息 -->
<Button Content="ΣGv" Style="{StaticResource TbBtn}" ToolTip="在主界面显示图像信息" />
<!-- 12.Dose 自动化检测 -->
<Button Content="Dose" Style="{StaticResource TbBtn}" ToolTip="自动化检测程序" />
<!-- 13.探测器控制 -->
<Button Content="Mats" Style="{StaticResource TbBtn}" ToolTip="探测器控制按钮" />
<!-- 14.关于 -->
<Button Content="Allo" Style="{StaticResource TbBtn}" ToolTip="显示关于XMC窗口" />
<!-- 15.Auto -->
<Button Content="Auto" Style="{StaticResource TbBtn}" ToolTip="自动模式" />
<Rectangle Style="{StaticResource TbSep}" />
<!-- 16.开门 -->
<Button Content="🚪" FontSize="13" Style="{StaticResource TbBtn}" ToolTip="开门" />
<!-- 17.关门 -->
<Button Content="🔒" FontSize="13" Style="{StaticResource TbBtn}" ToolTip="关门" />
<Rectangle Style="{StaticResource TbSep}" />
<!-- 18.Out 缩小 -->
<Button Content="Out" Style="{StaticResource TbBtn}" ToolTip="缩小" />
<!-- 19.In 放大 -->
<Button Content="In" Style="{StaticResource TbBtn}" ToolTip="放大" />
<Rectangle Style="{StaticResource TbSep}" />
<!-- 20.系统参数 -->
<Button Content="i" FontWeight="Bold" Style="{StaticResource TbBtn}" ToolTip="系统参数显示" />
<!-- 21.帮助 -->
<Button Content="?" Foreground="#FF4444" FontWeight="Bold"
Style="{StaticResource TbBtn}" ToolTip="帮助文档" />
</StackPanel>
<!-- 右侧: 鼠标坐标 + RGB -->
<TextBlock Grid.Column="1" VerticalAlignment="Center" Margin="8,0"
FontFamily="Consolas" FontSize="11" Foreground="#AAAAAA"
Text="x: 0 y: 0 RGB: 0 0 0" />
<!-- 防撞标识 -->
<Border Grid.Column="2" Margin="4,2" Padding="8,0"
Background="#228B22" CornerRadius="2">
<TextBlock VerticalAlignment="Center"
FontFamily="Microsoft YaHei UI" FontSize="11"
FontWeight="Bold" Foreground="White"
Text="CRASH ON" />
</Border>
</Grid>
</Border>
</Grid>
+16 -1
View File
@@ -22,7 +22,22 @@
----------------------
1、优化图像处理窗体的页面布局,简洁清晰 √
2、新增打开图像工具箱(修复DataContext问题) √
3、对主界面B方案进行优化
3、对主界面B方案进行优化
2026.3.17
----------------------
1、对界面设计进行优化 ,增加了扫描模式,移除了探测器设置,增加底部工具栏 √