You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
208 lines
12 KiB
208 lines
12 KiB
<Border x:Class="SparkClient.Views.Configuration.AlgorithmConfigPage" |
|
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" |
|
xmlns:configuration="clr-namespace:SparkClient.Views.Configuration" |
|
xmlns:system="clr-namespace:System;assembly=System.Runtime" |
|
mc:Ignorable="d" |
|
> |
|
<Border.Resources> |
|
|
|
<x:Array x:Key="ShapeList" Type="system:String"> |
|
<system:String>圆形</system:String> |
|
</x:Array> |
|
</Border.Resources> |
|
<Grid> |
|
<Grid.ColumnDefinitions> |
|
<ColumnDefinition MinWidth="300" Width="5*" /> |
|
<ColumnDefinition Width="Auto" /> |
|
<ColumnDefinition MinWidth="300" Width="4*" /> |
|
</Grid.ColumnDefinitions> |
|
<Grid.RowDefinitions> |
|
<RowDefinition Height="Auto" /> |
|
<RowDefinition Height="*" /> |
|
</Grid.RowDefinitions> |
|
<!-- 按钮组 --> |
|
<Grid Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3"> |
|
<Grid.ColumnDefinitions> |
|
<ColumnDefinition Width="Auto" /> |
|
<ColumnDefinition Width="Auto" /> |
|
<ColumnDefinition Width="Auto" /> |
|
<ColumnDefinition Width="Auto" /> |
|
<ColumnDefinition Width="Auto" /> |
|
</Grid.ColumnDefinitions> |
|
<Button Grid.Column="0" Width="100" Margin=" 10 5 0 5 " Padding="0" Height="50" |
|
BorderThickness="0" Background="Transparent" FocusVisualStyle="{x:Null}" Command="{Binding SaveAlgorithmDataCommand}" IsEnabled="{Binding IsEnabled}"> |
|
<Border HorizontalAlignment="Center" |
|
VerticalAlignment="Center" |
|
Margin="0 0 0 0" |
|
Padding="10, 10" |
|
Width="100" |
|
BorderThickness="0" |
|
CornerRadius="20"> |
|
<Border.Background> |
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> |
|
<GradientStop Color="#61bde2" Offset="0"/> |
|
<GradientStop Color="#53abd9" Offset="1"/> |
|
</LinearGradientBrush> |
|
</Border.Background> |
|
<TextBlock Text="{ DynamicResource Save}" TextAlignment="Center" Foreground="#ffffff" FontSize="16"></TextBlock> |
|
</Border> |
|
</Button> |
|
<Button Grid.Column="3" Width="100" Margin="10 5 " Padding="0" Height="50" |
|
BorderThickness="0" Background="Transparent" FocusVisualStyle="{x:Null}" Command="{Binding BeautifyJsonCommand}"> |
|
<Border HorizontalAlignment="Center" |
|
VerticalAlignment="Center" |
|
Margin="0 0 0 0" |
|
Padding="10, 10" |
|
Width="100" |
|
BorderThickness="0" |
|
CornerRadius="20"> |
|
<Border.Background> |
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> |
|
<GradientStop Color="#61bde2" Offset="0"/> |
|
<GradientStop Color="#53abd9" Offset="1"/> |
|
</LinearGradientBrush> |
|
</Border.Background> |
|
<TextBlock Text="{ DynamicResource BeautifyJson}" TextAlignment="Center" Foreground="#ffffff" FontSize="16"></TextBlock> |
|
</Border> |
|
</Button> |
|
<Button Grid.Column="4" Width="100" Margin="0 5 " Padding="0" Height="50" |
|
BorderThickness="0" Background="Transparent" FocusVisualStyle="{x:Null}" Command="{Binding UglifyJsonCommand}"> |
|
<Border HorizontalAlignment="Center" |
|
VerticalAlignment="Center" |
|
Margin="0 0 0 0" |
|
Padding="10, 10" |
|
Width="100" |
|
BorderThickness="0" |
|
CornerRadius="20"> |
|
<Border.Background> |
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> |
|
<GradientStop Color="#61bde2" Offset="0"/> |
|
<GradientStop Color="#53abd9" Offset="1"/> |
|
</LinearGradientBrush> |
|
</Border.Background> |
|
<TextBlock Text="{ DynamicResource UglifyJson}" TextAlignment="Center" Foreground="#ffffff" FontSize="16"></TextBlock> |
|
</Border> |
|
</Button> |
|
<!-- Command="{Binding UglifyJsonCommand}" --> |
|
<Button Grid.Column="1" Width="100" Margin="10 5 0 5 " Padding="0" Height="50" x:Name="ButtonDelRow" |
|
BorderThickness="0" Background="Transparent" FocusVisualStyle="{x:Null}" Click="ButtonDelRow_OnClick"> |
|
<Border HorizontalAlignment="Center" |
|
VerticalAlignment="Center" |
|
Margin="0 0 0 0" |
|
Padding="10, 10" |
|
Width="100" |
|
BorderThickness="0" |
|
CornerRadius="20"> |
|
<Border.Background> |
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> |
|
<GradientStop Color="#61bde2" Offset="0"/> |
|
<GradientStop Color="#53abd9" Offset="1"/> |
|
</LinearGradientBrush> |
|
</Border.Background> |
|
<TextBlock Text="删除行" TextAlignment="Center" Foreground="#ffffff" FontSize="16"></TextBlock> |
|
</Border> |
|
</Button> |
|
<!-- Command="{Binding AddCommand}" --> |
|
<Button Grid.Column="2" Width="100" Margin="10 5 0 5 " Padding="0" Height="50" x:Name="ButtonAddRow" Command="{Binding AddCommand}" |
|
BorderThickness="0" Background="Transparent" FocusVisualStyle="{x:Null}" Click="ButtonAddRow_OnClick" > |
|
<Border HorizontalAlignment="Center" |
|
VerticalAlignment="Center" |
|
Margin="0 0 0 0" |
|
Padding="10, 10" |
|
Width="100" |
|
BorderThickness="0" |
|
CornerRadius="20"> |
|
<Border.Background> |
|
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1"> |
|
<GradientStop Color="#61bde2" Offset="0"/> |
|
<GradientStop Color="#53abd9" Offset="1"/> |
|
</LinearGradientBrush> |
|
</Border.Background> |
|
<TextBlock Text="添加行" TextAlignment="Center" Foreground="#ffffff" FontSize="16"></TextBlock> |
|
</Border> |
|
</Button> |
|
</Grid> |
|
<!-- 左侧DataGrid --> |
|
<Grid Grid.Row="1" Grid.Column="0" > |
|
<DataGrid x:Name="AgileJsonDataGrid" |
|
AutoGenerateColumns="False" |
|
ItemsSource="{Binding AgileJsonConfigEntities}" |
|
SelectionUnit="FullRow"> |
|
<DataGrid.Columns> |
|
<DataGridTemplateColumn Header="运行模式" Width="*"> |
|
<DataGridTemplateColumn.CellTemplate> |
|
<DataTemplate> |
|
<ComboBox ItemsSource="{Binding DataContext.ModeList, RelativeSource={RelativeSource AncestorType=DataGrid}}" |
|
SelectedValue="{Binding ModeValue, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" |
|
DisplayMemberPath="Name" SelectedValuePath="Value" |
|
/> |
|
</DataTemplate> |
|
</DataGridTemplateColumn.CellTemplate> |
|
</DataGridTemplateColumn> |
|
<DataGridTemplateColumn Header="形状" Width="*"> |
|
<DataGridTemplateColumn.CellTemplate> |
|
<DataTemplate> |
|
<ComboBox IsEnabled="False" |
|
SelectedItem="圆形" |
|
ItemsSource="{Binding Source={StaticResource ShapeList}}" /> |
|
</DataTemplate> |
|
</DataGridTemplateColumn.CellTemplate> |
|
</DataGridTemplateColumn> |
|
<!-- 规格列修正为模板列 --> |
|
<DataGridTemplateColumn Header="规格" Width="2*"> |
|
<DataGridTemplateColumn.CellTemplate> |
|
<DataTemplate> |
|
<ComboBox ItemsSource="{Binding DataContext.SpecList, RelativeSource={RelativeSource AncestorType=DataGrid}}" |
|
SelectedValue="{Binding SpecValue, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" |
|
DisplayMemberPath="Name" SelectedValuePath="Value" |
|
/> |
|
</DataTemplate> |
|
</DataGridTemplateColumn.CellTemplate> |
|
|
|
</DataGridTemplateColumn> |
|
<!-- JSON Key列(带自动完成) --> |
|
<DataGridTemplateColumn Header="JSON Key" Width="3*" > |
|
<DataGridTemplateColumn.CellTemplate> |
|
<DataTemplate> |
|
<hc:AutoCompleteTextBox |
|
Text="{Binding JsonKey, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" |
|
ItemsSource="{Binding RunKey}" /> |
|
</DataTemplate> |
|
</DataGridTemplateColumn.CellTemplate> |
|
</DataGridTemplateColumn> |
|
|
|
<!-- 动态Value列 --> |
|
<DataGridTextColumn Header="动态Value" Binding="{Binding Value}" Width="2*"/> |
|
</DataGrid.Columns> |
|
</DataGrid> |
|
</Grid> |
|
<!-- 中间 --> |
|
<GridSplitter Grid.Row="1" Grid.Column="1" Width="5" HorizontalAlignment="Stretch" Background="Transparent" /> |
|
<!-- 右侧json --> |
|
<Grid Grid.Row="1" Grid.Column="2" Background="Transparent" > |
|
<Grid.RowDefinitions> |
|
<RowDefinition Height="Auto" /> |
|
<RowDefinition Height="*" /> |
|
</Grid.RowDefinitions> |
|
<!-- <TextBlock Grid.Row="0"/> --> |
|
<avalonEdit:TextEditor Grid.Row="1" |
|
xmlns:avalonEdit="http://icsharpcode.net/sharpdevelop/avalonedit" |
|
Name="TextEditor" |
|
SyntaxHighlighting="JSON" |
|
FontFamily="Consolas" |
|
FontSize="16pt" |
|
LineNumbersForeground="Black" |
|
TextChanged="TextEditor_OnTextChanged" |
|
ShowLineNumbers="True" > |
|
<avalonEdit:TextEditor.Options> |
|
<avalonEdit:TextEditorOptions ShowSpaces="True" /> |
|
</avalonEdit:TextEditor.Options> |
|
</avalonEdit:TextEditor> |
|
</Grid> |
|
</Grid> |
|
</Border>
|
|
|