XP.Camera:给按钮添加图标,优化界面布置

This commit is contained in:
李伟
2026-04-29 13:54:00 +08:00
parent eeaa6b4c98
commit 3f034b34ae
10 changed files with 61 additions and 29 deletions
@@ -19,9 +19,9 @@
<SolidColorBrush x:Key="TextSecondaryColor" Color="#666666" />
<Style x:Key="ToolbarButtonStyle" TargetType="Button">
<Setter Property="Width" Value="90" />
<Setter Property="Height" Value="70" />
<Setter Property="Margin" Value="0,0,8,0" />
<Setter Property="Width" Value="80" />
<Setter Property="Height" Value="66" />
<Setter Property="Margin" Value="0,0,6,0" />
<Setter Property="Background" Value="White" />
<Setter Property="Foreground" Value="{StaticResource TextColor}" />
<Setter Property="BorderBrush" Value="{StaticResource BorderColor}" />
@@ -33,10 +33,13 @@
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="3">
CornerRadius="6">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<ContentPresenter Content="{TemplateBinding Tag}"
HorizontalAlignment="Center"
Margin="0,2,0,3" />
<TextBlock Text="{TemplateBinding Content}"
FontSize="12"
FontSize="10.5"
HorizontalAlignment="Center"
Foreground="{TemplateBinding Foreground}"
TextWrapping="Wrap"
@@ -45,8 +48,8 @@
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#E5F3FF" />
<Setter Property="BorderBrush" Value="{StaticResource AccentColor}" />
<Setter Property="Background" Value="#EAF2FB" />
<Setter Property="BorderBrush" Value="#B0D4F1" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="#CCE8FF" />
@@ -68,24 +71,34 @@
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Border Grid.Row="0" Background="{StaticResource PrimaryColor}" BorderBrush="{StaticResource BorderColor}"
BorderThickness="0,0,0,1" Padding="15,10">
<Border Grid.Row="0" Background="#FAFAFA" BorderBrush="{StaticResource BorderColor}"
BorderThickness="0,0,0,1" Padding="12,8">
<StackPanel Orientation="Horizontal">
<Button Content="{Binding Source={StaticResource LocalizedStrings}, Path=Resources.CalibrationLoadImage}"
Command="{Binding LoadImageCommand}" FontFamily="Segoe UI"
Style="{StaticResource ToolbarButtonStyle}" />
Style="{StaticResource ToolbarButtonStyle}">
<Button.Tag><Image Source="/Calibration/Resources/添加图像.png" Width="24" Height="24" /></Button.Tag>
</Button>
<Button Content="{Binding Source={StaticResource LocalizedStrings}, Path=Resources.CalibrationLoadCsv}"
Command="{Binding LoadCsvCommand}" FontFamily="Segoe UI"
Style="{StaticResource ToolbarButtonStyle}" />
Style="{StaticResource ToolbarButtonStyle}">
<Button.Tag><Image Source="/Calibration/Resources/外部导入.png" Width="24" Height="24" /></Button.Tag>
</Button>
<Button Content="{Binding Source={StaticResource LocalizedStrings}, Path=Resources.CalibrationExecute}"
Command="{Binding CalibrateCommand}" FontFamily="Segoe UI"
Style="{StaticResource ToolbarButtonStyle}" />
Style="{StaticResource ToolbarButtonStyle}">
<Button.Tag><Image Source="/Calibration/Resources/执行.png" Width="24" Height="24" /></Button.Tag>
</Button>
<Button Content="{Binding Source={StaticResource LocalizedStrings}, Path=Resources.CalibrationSave}"
Command="{Binding SaveCalibrationCommand}" FontFamily="Segoe UI"
Style="{StaticResource ToolbarButtonStyle}" />
Style="{StaticResource ToolbarButtonStyle}">
<Button.Tag><Image Source="/Calibration/Resources/保存结果.png" Width="24" Height="24" /></Button.Tag>
</Button>
<Button Content="{Binding Source={StaticResource LocalizedStrings}, Path=Resources.CalibrationLoad}"
Command="{Binding LoadCalibrationCommand}" FontFamily="Segoe UI"
Style="{StaticResource ToolbarButtonStyle}" />
Style="{StaticResource ToolbarButtonStyle}">
<Button.Tag><Image Source="/Calibration/Resources/加载数据.png" Width="24" Height="24" /></Button.Tag>
</Button>
<CheckBox Content="{Binding Source={StaticResource LocalizedStrings}, Path=Resources.CalibrationShowWorld}"
VerticalAlignment="Center" FontFamily="Segoe UI"
IsChecked="{Binding ShowWorldCoordinates}"
@@ -20,9 +20,9 @@
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
<Style x:Key="ToolbarButtonStyle" TargetType="Button">
<Setter Property="Width" Value="90" />
<Setter Property="Height" Value="70" />
<Setter Property="Margin" Value="0,0,8,0" />
<Setter Property="Width" Value="80" />
<Setter Property="Height" Value="66" />
<Setter Property="Margin" Value="0,0,6,0" />
<Setter Property="Background" Value="White" />
<Setter Property="Foreground" Value="{StaticResource TextColor}" />
<Setter Property="BorderBrush" Value="{StaticResource BorderColor}" />
@@ -34,10 +34,13 @@
<Border Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="3">
CornerRadius="6">
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<ContentPresenter Content="{TemplateBinding Tag}"
HorizontalAlignment="Center"
Margin="0,2,0,3" />
<TextBlock Text="{TemplateBinding Content}"
FontSize="12" FontFamily="Segoe UI"
FontSize="10.5" FontFamily="Segoe UI"
HorizontalAlignment="Center"
Foreground="{TemplateBinding Foreground}"
TextWrapping="Wrap"
@@ -46,8 +49,8 @@
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#E5F3FF" />
<Setter Property="BorderBrush" Value="{StaticResource AccentColor}" />
<Setter Property="Background" Value="#EAF2FB" />
<Setter Property="BorderBrush" Value="#B0D4F1" />
</Trigger>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" Value="#CCE8FF" />
@@ -68,21 +71,33 @@
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Grid.Row="0" Background="{StaticResource PrimaryColor}" BorderBrush="{StaticResource BorderColor}"
BorderThickness="0,0,0,1" Padding="15,10">
<Border Grid.Row="0" Background="#FAFAFA" BorderBrush="{StaticResource BorderColor}"
BorderThickness="0,0,0,1" Padding="12,8">
<StackPanel Orientation="Horizontal">
<Button Content="{Binding Source={StaticResource LocalizedStrings}, Path=Resources.ChessboardAddImages}" Command="{Binding AddImagesCommand}"
Style="{StaticResource ToolbarButtonStyle}" />
Style="{StaticResource ToolbarButtonStyle}">
<Button.Tag><Image Source="/Calibration/Resources/添加图像.png" Width="24" Height="24" /></Button.Tag>
</Button>
<Button Content="{Binding Source={StaticResource LocalizedStrings}, Path=Resources.ChessboardClearImages}" Command="{Binding ClearImagesCommand}"
Style="{StaticResource ToolbarButtonStyle}" />
Style="{StaticResource ToolbarButtonStyle}">
<Button.Tag><Image Source="/Calibration/Resources/清空列表.png" Width="24" Height="24" /></Button.Tag>
</Button>
<Button Content="{Binding Source={StaticResource LocalizedStrings}, Path=Resources.ChessboardCalibrate}" Command="{Binding CalibrateCommand}"
Style="{StaticResource ToolbarButtonStyle}" />
Style="{StaticResource ToolbarButtonStyle}">
<Button.Tag><Image Source="/Calibration/Resources/校准.png" Width="24" Height="24" /></Button.Tag>
</Button>
<Button Content="{Binding Source={StaticResource LocalizedStrings}, Path=Resources.ChessboardSave}" Command="{Binding SaveCalibrationCommand}"
Style="{StaticResource ToolbarButtonStyle}" />
Style="{StaticResource ToolbarButtonStyle}">
<Button.Tag><Image Source="/Calibration/Resources/保存结果.png" Width="24" Height="24" /></Button.Tag>
</Button>
<Button Content="{Binding Source={StaticResource LocalizedStrings}, Path=Resources.ChessboardLoad}" Command="{Binding LoadCalibrationCommand}"
Style="{StaticResource ToolbarButtonStyle}" />
Style="{StaticResource ToolbarButtonStyle}">
<Button.Tag><Image Source="/Calibration/Resources/加载数据.png" Width="24" Height="24" /></Button.Tag>
</Button>
<Button Content="{Binding Source={StaticResource LocalizedStrings}, Path=Resources.ChessboardUndistort}" Command="{Binding UndistortImageCommand}"
Style="{StaticResource ToolbarButtonStyle}" />
Style="{StaticResource ToolbarButtonStyle}">
<Button.Tag><Image Source="/Calibration/Resources/执行.png" Width="24" Height="24" /></Button.Tag>
</Button>
</StackPanel>
</Border>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 759 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB