feat: 设置,UI重绘

master
Tongg 7 months ago
parent 495acf9792
commit 3ab294f3b7
  1. 19
      App.xaml
  2. 20
      Language/zh_CN.xaml
  3. 2
      MainWindow.xaml
  4. 5
      SparkClient.csproj
  5. 3
      ViewModel/Configuration/ConfigMenuPageVM.cs
  6. 15
      ViewModel/Configuration/SettingBaseVM.cs
  7. 7
      ViewModel/Configuration/SettingsPages/ModelColorSetPageVM.cs
  8. 2
      ViewModel/Configuration/SettingsPages/SettingsVM.cs
  9. 60
      Views/BaseWindow/BaseControl.xaml
  10. 209
      Views/Configuration/SettingPageBase.xaml
  11. 11
      Views/Configuration/SettingPageBase.xaml.cs
  12. 195
      Views/Configuration/SettingPages/CustomSettingPage.xaml
  13. 6
      Views/Configuration/SettingPages/CustomSettingPage.xaml.cs
  14. 12
      Views/Configuration/SettingPages/ModelColorSetPage.xaml
  15. 11
      Views/Configuration/SettingPages/ModelColorSetPage.xaml.cs
  16. 78
      Views/Configuration/SettingsPage.xaml

@ -11,6 +11,9 @@
xmlns:viewModel="clr-namespace:SparkClient.ViewModel" xmlns:viewModel="clr-namespace:SparkClient.ViewModel"
xmlns:dialogVM="clr-namespace:SparkClient.ViewModel.Dialog" xmlns:dialogVM="clr-namespace:SparkClient.ViewModel.Dialog"
xmlns:dialogView="clr-namespace:SparkClient.Views.Dialog" xmlns:dialogView="clr-namespace:SparkClient.Views.Dialog"
xmlns:settingsPages="clr-namespace:SparkClient.ViewModel.Configuration.SettingsPages"
xmlns:settingPages="clr-namespace:SparkClient.Views.Configuration.SettingPages"
xmlns:configuration="clr-namespace:System.Configuration;assembly=System.Configuration.ConfigurationManager"
StartupUri="MainWindow.xaml"> StartupUri="MainWindow.xaml">
<Application.Resources> <Application.Resources>
<ResourceDictionary> <ResourceDictionary>
@ -48,6 +51,18 @@
<DataTemplate DataType="{x:Type configVM:AlgorithmConfigVM}"> <DataTemplate DataType="{x:Type configVM:AlgorithmConfigVM}">
<configView:AlgorithmConfigPage/> <configView:AlgorithmConfigPage/>
</DataTemplate> </DataTemplate>
<!-- 系统配置 -> 通用配置 -->
<DataTemplate DataType="{x:Type settingsPages:SettingsVM}">
<settingPages:CustomSettingPage/>
</DataTemplate>
<!-- 系统配置 -> 模型颜色配置 -->
<DataTemplate DataType="{x:Type settingsPages:ModelColorSetPageVM}">
<settingPages:ModelColorSetPage/>
</DataTemplate>
<!-- 系统配置框架 -->
<DataTemplate DataType="{x:Type configVM:SettingBaseVM}">
<configView:SettingPageBase/>
</DataTemplate>
<!-- 检测、检测结果映射 --> <!-- 检测、检测结果映射 -->
<DataTemplate DataType="{x:Type gradingVM:DiamondSelectVM}"> <DataTemplate DataType="{x:Type gradingVM:DiamondSelectVM}">
<gradingView:DiamondSelect /> <gradingView:DiamondSelect />
@ -58,9 +73,7 @@
<DataTemplate DataType="{x:Type dialogVM:StartDialogVM}"> <DataTemplate DataType="{x:Type dialogVM:StartDialogVM}">
<dialogView:StartDialog/> <dialogView:StartDialog/>
</DataTemplate> </DataTemplate>
<DataTemplate DataType="{x:Type configVM:SettingsVM}">
<configView:SettingsPage/>
</DataTemplate>
</ResourceDictionary> </ResourceDictionary>
</Application.Resources> </Application.Resources>
</Application> </Application>

@ -89,7 +89,7 @@
<!-- 系统配置 --> <!-- 系统配置 -->
<sys:String x:Key="SaveAs">保存</sys:String> <sys:String x:Key="SaveAs">保存</sys:String>
<sys:String x:Key="System Settings">系统配置</sys:String> <sys:String x:Key="System Settings">系统配置</sys:String>
<sys:String x:Key="Language settings">语言设置</sys:String> <sys:String x:Key="LanguageSettings">语言设置</sys:String>
<sys:String x:Key="UpdateFile">上传文件</sys:String> <sys:String x:Key="UpdateFile">上传文件</sys:String>
<sys:String x:Key="TxtFile">TXT文件</sys:String> <sys:String x:Key="TxtFile">TXT文件</sys:String>
<sys:String x:Key="StlFile">STL文件</sys:String> <sys:String x:Key="StlFile">STL文件</sys:String>
@ -102,6 +102,24 @@
<sys:String x:Key="SavePathIsnotExists">保存路径不存在</sys:String> <sys:String x:Key="SavePathIsnotExists">保存路径不存在</sys:String>
<sys:String x:Key="RULE_NAME">RULE_NAME</sys:String> <sys:String x:Key="RULE_NAME">RULE_NAME</sys:String>
<!-- 系统配置相关多语言 -->
<sys:String x:Key="SystemSetting">系统配置</sys:String>
<sys:String x:Key="SystemSettingCustomSet">通用设置</sys:String>
<sys:String x:Key="SystemSettingModelSet">模型设置</sys:String>
<sys:String x:Key="SystemSettingSave">保存/Save</sys:String>
<sys:String x:Key="SystemSettingCustomSetLanguageSet">语言设置</sys:String>
<sys:String x:Key="SystemSettingCustomSetUploadFileSet">上传文件</sys:String>
<sys:String x:Key="SystemSettingCustomSetUploadFileText">TXT 文件</sys:String>
<sys:String x:Key="SystemSettingCustomSetUploadFileStl">STL 文件</sys:String>
<sys:String x:Key="SystemSettingCustomSetUploadFileExcel">XLSX 文件(Excel 2007+)</sys:String>
<sys:String x:Key="SystemSettingCustomSetUploadFileDat">DAT 文件</sys:String>
<sys:String x:Key="SystemSettingCustomSetSavePath">保存路径</sys:String>
<sys:String x:Key="SystemSettingCustomSelectPath">选择</sys:String>
<sys:String x:Key="SystemSettingCustomSelectPathTip">请选择</sys:String>
<sys:String x:Key="SystemSettingCustomSetLevel">定级标准</sys:String>
<!-- 3D的右键菜单 --> <!-- 3D的右键菜单 -->
<sys:String x:Key="ViewportRightMenuFront">正面视角</sys:String> <sys:String x:Key="ViewportRightMenuFront">正面视角</sys:String>
<sys:String x:Key="ViewportRightMenuSaveViewToPNG">截图当前视角到PNG</sys:String> <sys:String x:Key="ViewportRightMenuSaveViewToPNG">截图当前视角到PNG</sys:String>

@ -153,7 +153,7 @@
</Grid> </Grid>
<!-- 窗口主体内容 --> <!-- 窗口主体内容 -->
<Border Grid.Row="1"> <Border Grid.Row="1" Padding="10">
<Border.Background> <Border.Background>
<ImageBrush ImageSource="pack://application:,,,/Resource/Images/homebg.png" Stretch="UniformToFill" /> <ImageBrush ImageSource="pack://application:,,,/Resource/Images/homebg.png" Stretch="UniformToFill" />
</Border.Background> </Border.Background>

@ -135,6 +135,11 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
</Page> </Page>
<Page Remove="Resource\Images\Temp\**" /> <Page Remove="Resource\Images\Temp\**" />
<Page Update="Views\Configuration\SettingPages\CustomSettingPage.xaml">
<Generator>MSBuild:Compile</Generator>
<XamlRuntime>Wpf</XamlRuntime>
<SubType>Designer</SubType>
</Page>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

@ -1,6 +1,7 @@
using System.Windows.Input; using System.Windows.Input;
using SparkClient.Model.Helper; using SparkClient.Model.Helper;
using SparkClient.ViewModel.BaseWindow; using SparkClient.ViewModel.BaseWindow;
using SparkClient.ViewModel.Configuration.SettingsPages;
namespace SparkClient.ViewModel.Configuration; namespace SparkClient.ViewModel.Configuration;
@ -64,7 +65,7 @@ public class ConfigMenuPageVM : BaseViewModel
public void SettingConfig(object parameter) public void SettingConfig(object parameter)
{ {
BaseControlVM vm = new BaseControlVM(new SettingsVM(), MultilingualHelper.getString("System Settings")); BaseControlVM vm = new BaseControlVM(new SettingBaseVM(), MultilingualHelper.getString("SystemSetting"));
WindowManager.mainViewModel.Content = vm; WindowManager.mainViewModel.Content = vm;
WindowManager.openContent.Add(vm); WindowManager.openContent.Add(vm);
} }

@ -0,0 +1,15 @@
using SparkClient.ViewModel.Configuration.SettingsPages;
namespace SparkClient.ViewModel.Configuration;
public class SettingBaseVM : BaseViewModel
{
public object CustomSetContent { get; }
public object ModelColorSetContent { get; }
public SettingBaseVM()
{
CustomSetContent = new SettingsVM();
ModelColorSetContent = new ModelColorSetPageVM();
}
}

@ -0,0 +1,7 @@
namespace SparkClient.ViewModel.Configuration.SettingsPages;
public class ModelColorSetPageVM
{
}

@ -13,7 +13,7 @@ using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using System.Windows.Input; using System.Windows.Input;
namespace SparkClient.ViewModel.Configuration namespace SparkClient.ViewModel.Configuration.SettingsPages
{ {
class SettingsVM : BaseViewModel class SettingsVM : BaseViewModel
{ {

@ -7,13 +7,13 @@
mc:Ignorable="d" mc:Ignorable="d"
Margin="10" CornerRadius="15" Margin="10" CornerRadius="15"
> >
<Grid ClipToBounds="True"> <Grid ClipToBounds="True" Background="#c5cbe3">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition> <RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition> <RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<!-- 模拟顶部标题栏 --> <!-- 模拟顶部标题栏 -->
<Grid Grid.Row="0" Background="#795C2A" Height="40"> <Grid Grid.Row="0" Height="40" Margin="15 5">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/>
@ -21,32 +21,33 @@
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<!-- 标题内容 --> <!-- 标题内容 -->
<TextBlock Grid.Column="0" Text="{Binding WindowTitle}" <TextBlock Grid.Column="0" Text="{Binding WindowTitle}"
VerticalAlignment="Center" Foreground="Azure" VerticalAlignment="Center" Foreground="#000"
HorizontalAlignment="Left" FontSize="16" Margin="10 0 0 0"/> FontWeight="Bold"
HorizontalAlignment="Left" FontSize="20" Margin="10 0 0 0"/>
<!-- 按钮1 --> <!-- 按钮1 -->
<Border Grid.Column="1" <!-- <Border Grid.Column="1" -->
Width="30" Height="30" <!-- Width="30" Height="30" -->
HorizontalAlignment="Right" VerticalAlignment="Center" <!-- HorizontalAlignment="Right" VerticalAlignment="Center" -->
Background="Transparent" <!-- Background="Transparent" -->
MouseEnter="Border_Minimize_MouseEnter" <!-- MouseEnter="Border_Minimize_MouseEnter" -->
MouseLeave="Border_MouseLeave" <!-- MouseLeave="Border_MouseLeave" -->
Visibility="{Binding ShowFunctionButton}"> <!-- Visibility="{Binding ShowFunctionButton}"> -->
<hc:Interaction.Triggers> <!-- <hc:Interaction.Triggers> -->
<hc:EventTrigger> <!-- <hc:EventTrigger> -->
<hc:EventToCommand Command="{Binding CloseWindow}"></hc:EventToCommand> <!-- <hc:EventToCommand Command="{Binding CloseWindow}"></hc:EventToCommand> -->
</hc:EventTrigger> <!-- </hc:EventTrigger> -->
</hc:Interaction.Triggers> <!-- </hc:Interaction.Triggers> -->
<Viewbox Stretch="Uniform"> <!-- <Viewbox Stretch="Uniform"> -->
<Path Data="{Binding FunctionButtonIcon}" <!-- <Path Data="{Binding FunctionButtonIcon}" -->
Fill="Azure" <!-- Fill="Azure" -->
Stroke="Azure" <!-- Stroke="Azure" -->
StrokeThickness="1" <!-- StrokeThickness="1" -->
HorizontalAlignment="Center" <!-- HorizontalAlignment="Center" -->
VerticalAlignment="Center" <!-- VerticalAlignment="Center" -->
Margin="20 0 0 0" <!-- Margin="20 0 0 0" -->
Width="30" /> <!-- Width="30" /> -->
</Viewbox> <!-- </Viewbox> -->
</Border> <!-- </Border> -->
<!-- 关闭按钮 --> <!-- 关闭按钮 -->
<Border Grid.Column="2" <Border Grid.Column="2"
Width="40" Height="30" Width="40" Height="30"
@ -70,6 +71,9 @@
</Button> </Button>
</Border> </Border>
</Grid> </Grid>
<ContentControl Grid.Row="1" Grid.Column="0" Name="ContentMain" Content="{Binding Content}"/> <Border Grid.Row="1" Grid.Column="0" Background="#ffffff" Padding="10" Margin="20 10" CornerRadius="15">
<ContentControl Name="ContentMain" Content="{Binding Content}" />
</Border>
</Grid> </Grid>
</Border> </Border>

@ -0,0 +1,209 @@
<Border x:Class="SparkClient.Views.Configuration.SettingPageBase"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:hc="https://handyorg.github.io/handycontrol"
xmlns:local="clr-namespace:SparkClient.Views.Configuration"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="500">
<Border.Resources>
<!-- 渐变背景色,用于选项卡的不同状态 -->
<LinearGradientBrush x:Key="PrimaryBlueColor" StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#40b1ff" Offset="0"/>
<GradientStop Color="#3c9ce6" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="PrimaryButtonColor" StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#38c8bf" Offset="0"/>
<GradientStop Color="#1fb5ac" Offset="1"/>
</LinearGradientBrush>
<!-- PrimaryBlueColor省略,因为这里用TabItemSelectedBrush替代,或可自行定义 -->
<!-- TabItem样式 -->
<Style x:Key="TabItemStyle" TargetType="TabItem">
<Setter Property="Background" >
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#babfd2" Offset="0"/>
<GradientStop Color="#babfd2" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="Foreground" Value="#ffffff"/>
<Setter Property="FontSize" Value="16" />
<Setter Property="Height" Value="40" />
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Margin" Value="0 0 5 0"/>
<Setter Property="Width" Value="100"/>
<Setter Property="Padding" Value="10 10"/>
<Setter Property="VerticalAlignment" Value="Top"/>
<Setter Property="HorizontalAlignment" Value="Left"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabItem">
<Grid SnapsToDevicePixels="True">
<Border x:Name="TabItemBorder"
CornerRadius="20"
Background="{TemplateBinding Background}"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"
Margin="{TemplateBinding Margin}" />
<ContentPresenter HorizontalAlignment="Center"
VerticalAlignment="{TemplateBinding VerticalAlignment}"
SnapsToDevicePixels="True"
RecognizesAccessKey="True"
Margin="{TemplateBinding Padding}"
ContentSource="Header"
Focusable="True"/>
</Grid>
<ControlTemplate.Triggers>
<!-- 鼠标移入时,背景颜色渐变 -->
<Trigger Property="IsMouseOver" Value="True">
</Trigger>
<!-- 选中时背景渐变到选中色 -->
<Trigger Property="IsSelected" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation
Storyboard.TargetName="TabItemBorder"
Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[0].(GradientStop.Color)"
To="#40b1ff" Duration="0:0:0.3"/>
<ColorAnimation
Storyboard.TargetName="TabItemBorder"
Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[1].(GradientStop.Color)"
To="#3c9ce6" Duration="0:0:0.3"/>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
<Trigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<ColorAnimation
Storyboard.TargetName="TabItemBorder"
Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[0].(GradientStop.Color)"
To="#babfd2" Duration="0:0:0.3"/>
<ColorAnimation
Storyboard.TargetName="TabItemBorder"
Storyboard.TargetProperty="(Border.Background).(LinearGradientBrush.GradientStops)[1].(GradientStop.Color)"
To="#babfd2" Duration="0:0:0.3"/>
</Storyboard>
</BeginStoryboard>
</Trigger.ExitActions>
</Trigger>
<!-- 未选中状态恢复默认背景 -->
<Trigger Property="IsSelected" Value="False">
<Setter Property="Background" >
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#babfd2" Offset="0"/>
<GradientStop Color="#babfd2" Offset="1"/>
</LinearGradientBrush>
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- TabControl样式 -->
<Style x:Key="TabControlStyle" TargetType="TabControl">
<Setter Property="Background" Value="#ffffff"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="Padding" Value="10"/>
<Setter Property="Margin" Value="10"/>
<Setter Property="VerticalAlignment" Value="Stretch"/>
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabControl">
<Grid SnapsToDevicePixels="True">
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<!--TabPanel-->
<TabPanel Grid.Row="0"
Background="Transparent"
IsItemsHost="True"/>
<!-- 保存按钮在右侧 -->
<Button x:Name="SaveButton" Grid.Column="1" Padding="0" Margin="0" Height="40"
BorderThickness="0" Background="Transparent" FocusVisualStyle="{x:Null}">
<Border
HorizontalAlignment="Right"
VerticalAlignment="Center"
Margin="0,0,0,0"
Padding="10, 10"
Width="100"
BorderThickness="0"
Background="{StaticResource PrimaryButtonColor}"
CornerRadius="20">
<TextBlock FontSize="16" Text="{StaticResource SystemSettingSave}" TextAlignment="Center" Foreground="#ffffff"></TextBlock>
</Border>
</Button>
</Grid>
<!-- 内容区域,添加淡入淡出动画 -->
<Border x:Name="ContentBorder"
Grid.Row="1"
CornerRadius="5"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"
Background="{TemplateBinding Background}">
<ContentPresenter x:Name="PART_SelectedContentHost"
ContentSource="SelectedContent"
SnapsToDevicePixels="True"
Margin="{TemplateBinding Padding}"
Opacity="0"/>
</Border>
</Grid>
<!-- 当选项卡内容切换时触发动画 -->
<ControlTemplate.Triggers>
<!-- 使用EventTrigger监听TabControl的SelectionChanged事件 -->
<EventTrigger RoutedEvent="TabControl.SelectionChanged">
<BeginStoryboard>
<Storyboard>
<!-- 先瞬间变为透明,再渐入 -->
<!-- <DoubleAnimation Storyboard.TargetName="PART_SelectedContentHost" -->
<!-- Storyboard.TargetProperty="Opacity" -->
<!-- To="0" Duration="0:0:0"/> -->
<DoubleAnimation Storyboard.TargetName="PART_SelectedContentHost"
Storyboard.TargetProperty="Opacity"
To="1" Duration="0:0:0.5" BeginTime="0:0:0.1"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Border.Resources>
<Grid>
<TabControl Style="{StaticResource TabControlStyle}" >
<TabItem Header="{StaticResource SystemSettingCustomSet}" Style="{DynamicResource TabItemStyle}">
<ContentControl ClipToBounds="True" Content="{Binding CustomSetContent}"/>
</TabItem>
<TabItem Header="{StaticResource SystemSettingModelSet}" Style="{DynamicResource TabItemStyle}">
<ContentControl ClipToBounds="True" Content="{Binding ModelColorSetContent}"/>
</TabItem>
</TabControl>
</Grid>
</Border>

@ -0,0 +1,11 @@
using System.Windows.Controls;
namespace SparkClient.Views.Configuration;
public partial class SettingPageBase
{
public SettingPageBase()
{
InitializeComponent();
}
}

@ -0,0 +1,195 @@
<Border x:Class="SparkClient.Views.Configuration.SettingPages.CustomSettingPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:SparkClient.Views"
xmlns:hc="https://handyorg.github.io/handycontrol"
mc:Ignorable="d"
d:DesignHeight="500" d:DesignWidth="500">
<Border.Resources>
<Style x:Key="BorderRowStyle" TargetType="Border">
<Setter Property="CornerRadius" Value="15" />
<Setter Property="Background" Value="#f0f1f6" />
<Setter Property="Padding" Value="5 20" />
<Setter Property="Margin" Value="2 3" />
</Style>
<Style x:Key="TextBlockStyle" TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Right" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="FontSize" Value="16" />
<Setter Property="Foreground" Value="Black" />
<Setter Property="Padding" Value="0 0 10 0" />
</Style>
<!-- <Style x:Key="CheckBoxStyle" TargetType="CheckBox"> -->
<!-- <Setter Property="VerticalAlignment" Value="Center" /> -->
<!-- <Setter Property="FontSize" Value="16" /> -->
<!-- <Setter Property="Foreground" Value="Black" /> -->
<!-- <Setter Property="Padding" Value="0 0 10 0" /> -->
<!-- <Setter Property="Margin" Value="0 5" /> -->
<!-- </Style> -->
</Border.Resources>
<Grid Background="Transparent" Opacity="0.8">
<!-- <Grid.ColumnDefinitions> -->
<!-- <ColumnDefinition Width="2*"/> -->
<!-- <ColumnDefinition Width="*"/> -->
<!-- </Grid.ColumnDefinitions> -->
<!-- <Grid.RowDefinitions> -->
<!-- <RowDefinition Height="40"/> -->
<!-- <RowDefinition Height="auto"/> -->
<!-- <RowDefinition Height="30"/> -->
<!-- <RowDefinition Height="auto"/> -->
<!-- <RowDefinition Height="120"/> -->
<!-- <RowDefinition Height="auto"/> -->
<!-- <RowDefinition Height="30"/> -->
<!-- <RowDefinition Height="auto"/> -->
<!-- <RowDefinition Height="30"/> -->
<!-- <RowDefinition Height="auto"/> -->
<!-- <RowDefinition Height="auto"/> -->
<!-- <RowDefinition/> -->
<!-- </Grid.RowDefinitions> -->
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" Style="{DynamicResource BorderRowStyle}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{StaticResource SystemSettingCustomSetLanguageSet}" Style="{DynamicResource TextBlockStyle}" />
<ComboBox Grid.Column="1" Background="White" Width="150" HorizontalAlignment="Left"
ItemsSource="{Binding Languages}" Margin="10 0" DisplayMemberPath="Key" SelectedValuePath="Value"
SelectedValue="{Binding LanguageId, Mode=TwoWay}" />
</Grid>
</Border>
<Border Grid.Row="1" Style="{DynamicResource BorderRowStyle}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{StaticResource SystemSettingCustomSetUploadFileSet}" Style="{DynamicResource TextBlockStyle}" />
<Grid Grid.Column="1">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<CheckBox Grid.Row="0" FontSize="16" Margin="0 5" Content="{DynamicResource SystemSettingCustomSetUploadFileText}" IsChecked="{Binding TxtFileChecked}"/>
<CheckBox Grid.Row="1" FontSize="16" Margin="0 5" Content="{DynamicResource SystemSettingCustomSetUploadFileStl}" IsChecked="{Binding StlFileChecked}"/>
<CheckBox Grid.Row="2" FontSize="16" Margin="0 5" Content="{DynamicResource SystemSettingCustomSetUploadFileExcel}" IsChecked="{Binding ExcelFileChecked}"/>
<CheckBox Grid.Row="3" FontSize="16" Margin="0 5" Content="{DynamicResource SystemSettingCustomSetUploadFileDat}" IsChecked="{Binding DatFileChecked}"/>
</Grid>
</Grid>
</Border>
<Border Grid.Row="2" Style="{DynamicResource BorderRowStyle}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{StaticResource SystemSettingCustomSetLanguageSet}" Style="{DynamicResource TextBlockStyle}" />
<ComboBox Grid.Column="1" Background="White" Width="150" HorizontalAlignment="Left"
ItemsSource="{Binding Languages}" Margin="10 0" DisplayMemberPath="Key" SelectedValuePath="Value"
SelectedValue="{Binding LanguageId, Mode=TwoWay}" />
</Grid>
</Border>
<Border Grid.Row="2" Style="{DynamicResource BorderRowStyle}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{StaticResource SystemSettingCustomSetSavePath}" Style="{DynamicResource TextBlockStyle}" />
<Grid Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBox TextWrapping="Wrap" Name ="filePath" Grid.Column="0" Text="{Binding FilePath}" Background="White" Width="300" HorizontalAlignment="Left"/>
<TextBlock Text="{StaticResource SystemSettingCustomSelectPathTip}" Grid.Column="0" Foreground="#BBBBBB" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Text, ElementName=filePath}" Value="">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<Button Grid.Column="1" Background="#8da3cc" Content="{StaticResource SystemSettingCustomSelectPath}" FontSize="16" Foreground="White" HorizontalAlignment="Left" Width="80" Command="{Binding SelectFileCommand}" Padding="10 0"/>
</Grid>
</Grid>
</Border>
<Border Grid.Row="3" Style="{DynamicResource BorderRowStyle}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="150"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{StaticResource SystemSettingCustomSetLevel}" Style="{DynamicResource TextBlockStyle}" />
<ComboBox Grid.Column="1" Background="White" Width="150" HorizontalAlignment="Left" ItemsSource="{Binding Rules}"
DisplayMemberPath="Key" SelectedValuePath="Value" SelectedValue="{Binding RuleId, Mode=TwoWay}"/>
</Grid>
</Border>
<!-- <Label Grid.Row="2" Content="{DynamicResource LanguageSettings}" VerticalAlignment="Center" HorizontalAlignment="Center" Width="150" /> -->
<!-- <ComboBox Grid.Row="2" Grid.Column="1" Background="White" Width="150" HorizontalAlignment="Left" -->
<!-- ItemsSource="{Binding Languages}" Margin="10 0" DisplayMemberPath="Key" SelectedValuePath="Value" -->
<!-- SelectedValue="{Binding LanguageId, Mode=TwoWay}" > -->
<!-- </ComboBox> -->
<!-- <GridSplitter Grid.Row="3" Grid.ColumnSpan="2" Height="1" HorizontalAlignment="Stretch" Background="#BBBBBB"></GridSplitter> -->
<!-- <Label Content="{DynamicResource UpdateFile}" VerticalAlignment="Top" HorizontalAlignment="Center" Margin="5" Grid.Row="4" Grid.Column="0" Width="150"/> -->
<!-- <Grid Grid.Row="4" Grid.Column="1" Width="88" HorizontalAlignment="Left"> -->
<!-- <Grid.RowDefinitions> -->
<!-- <RowDefinition /> -->
<!-- <RowDefinition /> -->
<!-- <RowDefinition /> -->
<!-- <RowDefinition /> -->
<!-- </Grid.RowDefinitions> -->
<!-- <CheckBox Grid.Row="0" Content="{DynamicResource TxtFile}" IsChecked="{Binding TxtFileChecked}"/> -->
<!-- <CheckBox Grid.Row="1" Content="{DynamicResource StlFile}" IsChecked="{Binding StlFileChecked}"/> -->
<!-- <CheckBox Grid.Row="2" Content="{DynamicResource ExcelFile}" IsChecked="{Binding ExcelFileChecked}"/> -->
<!-- <CheckBox Grid.Row="3" Content="{DynamicResource DatFile}" IsChecked="{Binding DatFileChecked}"/> -->
<!-- </Grid> -->
<!-- -->
<!-- <GridSplitter Grid.Row="5" Grid.ColumnSpan="2" Height="1" HorizontalAlignment="Stretch" Background="#BBBBBB"></GridSplitter> -->
<!-- <Label Grid.Row="6" Content="{DynamicResource SavePath}" VerticalAlignment="Center" HorizontalAlignment="Center" Width="150"/> -->
<!-- <Grid Grid.Row="6" Grid.Column="1"> -->
<!-- <Grid.ColumnDefinitions> -->
<!-- <ColumnDefinition Width="300"/> -->
<!-- <ColumnDefinition/> -->
<!-- </Grid.ColumnDefinitions> -->
<!-- <TextBox TextWrapping="Wrap" Name ="filePath" Grid.Column="0" Text="{Binding FilePath}" Background="White" Width="300" HorizontalAlignment="Left"/> -->
<!-- <TextBlock Text="{DynamicResource Please enter}" Grid.Column="0" Foreground="#BBBBBB" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5"> -->
<!-- <TextBlock.Style> -->
<!-- <Style TargetType="TextBlock"> -->
<!-- <Setter Property="Visibility" Value="Collapsed"/> -->
<!-- <Style.Triggers> -->
<!-- <DataTrigger Binding="{Binding Path=Text, ElementName=filePath}" Value=""> -->
<!-- <Setter Property="Visibility" Value="Visible"/> -->
<!-- </DataTrigger> -->
<!-- </Style.Triggers> -->
<!-- </Style> -->
<!-- </TextBlock.Style> -->
<!-- </TextBlock> -->
<!-- <Button Grid.Column="1" Background="#A7896F" Content="{DynamicResource Select}" Foreground="White" HorizontalAlignment="Left" Width="80" Command="{Binding SelectFileCommand}"/> -->
<!-- </Grid> -->
<!-- <GridSplitter Grid.Row="7" Grid.ColumnSpan="2" Height="1" HorizontalAlignment="Stretch" Background="#BBBBBB"></GridSplitter> -->
<!-- <Label Grid.Row="8" Grid.Column="0" Content="{DynamicResource GradeStandard}" VerticalAlignment="Center" HorizontalAlignment="Center" Width="150"/> -->
<!-- <ComboBox Grid.Row="8" Grid.Column="1" Background="White" Width="150" HorizontalAlignment="Left" ItemsSource="{Binding Rules}" -->
<!-- DisplayMemberPath="Key" SelectedValuePath="Value" SelectedValue="{Binding RuleId, Mode=TwoWay}"/> -->
<!-- <GridSplitter Grid.Row="9" Grid.ColumnSpan="2" Height="1" HorizontalAlignment="Stretch" Background="#BBBBBB"></GridSplitter> -->
</Grid>
</Border>

@ -13,14 +13,14 @@ using System.Windows.Media.Imaging;
using System.Windows.Navigation; using System.Windows.Navigation;
using System.Windows.Shapes; using System.Windows.Shapes;
namespace SparkClient.Views.Configuration namespace SparkClient.Views.Configuration.SettingPages
{ {
/// <summary> /// <summary>
/// SettingsPage.xaml 的交互逻辑 /// SettingsPage.xaml 的交互逻辑
/// </summary> /// </summary>
public partial class SettingsPage public partial class CustomSettingPage
{ {
public SettingsPage() public CustomSettingPage()
{ {
InitializeComponent(); InitializeComponent();
} }

@ -0,0 +1,12 @@
<Border x:Class="SparkClient.Views.Configuration.SettingPages.ModelColorSetPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:SparkClient.Views.Configuration.SettingPages"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
</Grid>
</Border>

@ -0,0 +1,11 @@
using System.Windows.Controls;
namespace SparkClient.Views.Configuration.SettingPages;
public partial class ModelColorSetPage
{
public ModelColorSetPage()
{
InitializeComponent();
}
}

@ -1,78 +0,0 @@
<Border x:Class="SparkClient.Views.Configuration.SettingsPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:SparkClient.Views"
xmlns:hc="https://handyorg.github.io/handycontrol"
mc:Ignorable="d">
<Grid Background="#FDFEFD" Opacity="0.8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="20*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="30"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="120"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="30"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="30"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Button Grid.Row="0" Grid.Column="1" Background="#A7896F" Content="{DynamicResource SaveAs}" Foreground="White" HorizontalAlignment="Right" Margin="0 0 10 0" Command="{Binding SaveUpdateCommand}"/>
<GridSplitter Grid.Row="1" Grid.ColumnSpan="2" Height="1" HorizontalAlignment="Stretch" Background="#BBBBBB" ></GridSplitter>
<Label Grid.Row="2" Content="{DynamicResource Language settings}" VerticalAlignment="Center" HorizontalAlignment="Center" Width="150" />
<ComboBox Grid.Row="2" Grid.Column="1" Background="White" Width="150" HorizontalAlignment="Left"
ItemsSource="{Binding Languages}" Margin="10 0" DisplayMemberPath="Key" SelectedValuePath="Value"
SelectedValue="{Binding LanguageId, Mode=TwoWay}" >
</ComboBox>
<GridSplitter Grid.Row="3" Grid.ColumnSpan="2" Height="1" HorizontalAlignment="Stretch" Background="#BBBBBB"></GridSplitter>
<Label Content="{DynamicResource UpdateFile}" VerticalAlignment="Top" HorizontalAlignment="Center" Margin="5" Grid.Row="4" Grid.Column="0" Width="150"/>
<Grid Grid.Row="4" Grid.Column="1" Width="88" HorizontalAlignment="Left">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<CheckBox Grid.Row="0" Content="{DynamicResource TxtFile}" IsChecked="{Binding TxtFileChecked}"/>
<CheckBox Grid.Row="1" Content="{DynamicResource StlFile}" IsChecked="{Binding StlFileChecked}"/>
<CheckBox Grid.Row="2" Content="{DynamicResource ExcelFile}" IsChecked="{Binding ExcelFileChecked}"/>
<CheckBox Grid.Row="3" Content="{DynamicResource DatFile}" IsChecked="{Binding DatFileChecked}"/>
</Grid>
<GridSplitter Grid.Row="5" Grid.ColumnSpan="2" Height="1" HorizontalAlignment="Stretch" Background="#BBBBBB"></GridSplitter>
<Label Grid.Row="6" Content="{DynamicResource SavePath}" VerticalAlignment="Center" HorizontalAlignment="Center" Width="150"/>
<Grid Grid.Row="6" Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBox TextWrapping="Wrap" Name ="filePath" Grid.Column="0" Text="{Binding FilePath}" Background="White" Width="300" HorizontalAlignment="Left"/>
<TextBlock Text="{DynamicResource Please enter}" Grid.Column="0" Foreground="#BBBBBB" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5">
<TextBlock.Style>
<Style TargetType="TextBlock">
<Setter Property="Visibility" Value="Collapsed"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=Text, ElementName=filePath}" Value="">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
</TextBlock>
<Button Grid.Column="1" Background="#A7896F" Content="{DynamicResource Select}" Foreground="White" HorizontalAlignment="Left" Width="80" Command="{Binding SelectFileCommand}"/>
</Grid>
<GridSplitter Grid.Row="7" Grid.ColumnSpan="2" Height="1" HorizontalAlignment="Stretch" Background="#BBBBBB"></GridSplitter>
<Label Grid.Row="8" Grid.Column="0" Content="{DynamicResource GradeStandard}" VerticalAlignment="Center" HorizontalAlignment="Center" Width="150"/>
<ComboBox Grid.Row="8" Grid.Column="1" Background="White" Width="150" HorizontalAlignment="Left" ItemsSource="{Binding Rules}"
DisplayMemberPath="Key" SelectedValuePath="Value" SelectedValue="{Binding RuleId, Mode=TwoWay}"/>
<GridSplitter Grid.Row="9" Grid.ColumnSpan="2" Height="1" HorizontalAlignment="Stretch" Background="#BBBBBB"></GridSplitter>
</Grid>
</Border>
Loading…
Cancel
Save