<hb:PluginControl x:Class="Plugin.SeqEditor.SeqEditor"
|
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:Plugin.SeqEditor"
|
mc:Ignorable="d"
|
xmlns:hb="clr-namespace:HMI.Base;assembly=HMI.Base"
|
xmlns:uic="clr-namespace:HMI.UI.Converter;assembly=HMI.UI"
|
xmlns:ui="clr-namespace:HMI.UI;assembly=HMI.UI"
|
xmlns:pw="https://opensource.panuon.com/wpf"
|
xmlns:pu="https://opensource.panuon.com/wpf-ui"
|
xmlns:dp="clr-namespace:HMI.UI.DpUtil;assembly=HMI.UI"
|
xmlns:util="clr-namespace:Plugin.SeqEditor.Util"
|
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
|
d:DesignHeight="450" d:DesignWidth="800">
|
<i:Interaction.Triggers>
|
<i:EventTrigger EventName="Loaded">
|
<i:InvokeCommandAction Command="{Binding LoadedCommand}" />
|
</i:EventTrigger>
|
</i:Interaction.Triggers>
|
<UserControl.Resources>
|
<ResourceDictionary>
|
<ResourceDictionary.MergedDictionaries>
|
<ResourceDictionary Source="/HMI.UI;component/Controls/TreeGrid/Themes/TreeItemContentControl.xaml"/>
|
<ResourceDictionary Source="/HMI.UI;component/Controls/TreeGrid/Themes/TreeGrid.xaml"/>
|
</ResourceDictionary.MergedDictionaries>
|
|
<Style TargetType="pu:FormGroup">
|
<Setter Property="Padding" Value="0,10"/>
|
<Setter Property="HeaderFontSize" Value="14"/>
|
<Setter Property="HeaderFontWeight" Value="Bold"/>
|
</Style>
|
|
<!-- 树Grid组件 -->
|
<ui:TreeItemDataConverter x:Key="TreeItemDataConverter"/>
|
|
<CollectionViewSource x:Key="TreeGridFilter"
|
Source="{Binding AllSteps,Converter={StaticResource TreeItemDataConverter},ConverterParameter=Children}">
|
<CollectionViewSource.GroupDescriptions>
|
<PropertyGroupDescription PropertyName="Data.Group" />
|
</CollectionViewSource.GroupDescriptions>
|
</CollectionViewSource>
|
|
</ResourceDictionary>
|
</UserControl.Resources>
|
<Border Style="{StaticResource CardBoarder}" Padding="0">
|
<Grid dp:GridHelper.Space="10" Cursor="">
|
<Grid.RowDefinitions>
|
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
<RowDefinition/>
|
</Grid.RowDefinitions>
|
<Grid.ColumnDefinitions>
|
<ColumnDefinition Width="0"/>
|
<ColumnDefinition Width="8*"/>
|
<ColumnDefinition Width="2*"/>
|
</Grid.ColumnDefinitions>
|
|
<DockPanel Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Margin="0,0,0,10">
|
<StackPanel DockPanel.Dock="Right" Orientation="Horizontal"
|
dp:StackPanelHelper.ChildSpace="10">
|
<Button Style="{StaticResource AddBtn}" Content="{DynamicResource se.open}" Command="{Binding OpenSeqFileCommand}"/>
|
<Button Style="{StaticResource SaveBtn}" Content="{DynamicResource se.save}" Command="{Binding SaveSeqFileCommand}"/>
|
<Button Style="{StaticResource SaveBtn}" pu:ButtonHelper.Icon=""
|
Content="{DynamicResource se.saveTo}"
|
Command="{Binding SaveSeqFileCommand}"/>
|
<Button Style="{StaticResource DelBtn}" Content="{DynamicResource se.close}"
|
pu:ButtonHelper.Icon=""
|
Command="{Binding CloseSeqFileCommand}"/>
|
</StackPanel>
|
|
<TextBlock DockPanel.Dock="Left" FontSize="{StaticResource TitleFontSize}"
|
VerticalAlignment="Center" HorizontalAlignment="Left" Text="{DynamicResource se.title}"/>
|
|
<TextBlock DockPanel.Dock="Left" FontSize="{StaticResource ContentFontSize2}"
|
Margin="20,0,0,0"
|
VerticalAlignment="Bottom" LineHeight="{StaticResource TitleFontSize}" HorizontalAlignment="Left" Text="{Binding CurrentFileName}"/>
|
</DockPanel>
|
|
<!--<pu:FormGroup Header="{DynamicResource se.seq}" Orientation="Vertical" Grid.Row="1" Grid.Column="0">
|
<DataGrid ItemsSource="{Binding Sequences}" SelectedItem="{Binding CurrentSeqUI}">
|
<DataGrid.Columns>
|
<DataGridTextColumn Width="*" Binding="{Binding Name}">
|
<DataGridTextColumn.Header>
|
<TextBlock Text="{DynamicResource se.name}"/>
|
</DataGridTextColumn.Header>
|
</DataGridTextColumn>
|
</DataGrid.Columns>
|
</DataGrid>
|
</pu:FormGroup>-->
|
<pu:FormGroup Grid.Row="1" Grid.Column="1" Header="步骤类型" Style="{StaticResource InputFormGroupStyle}">
|
<StackPanel Orientation="Horizontal">
|
|
<!--<ComboBox Text="{Binding TargetType}"
|
MinWidth="180" Margin="0,0,10,0" x:Name="CbFilter"
|
SelectedValuePath="DataValue" IsEditable="True" >
|
<ComboBox.ItemTemplate>
|
<DataTemplate DataType="util:ItemData">
|
<StackPanel Orientation="Horizontal">
|
<CheckBox IsChecked="{Binding IsChecked}" />
|
<TextBlock Text="{Binding DisplayName}" />
|
</StackPanel>
|
</DataTemplate>
|
</ComboBox.ItemTemplate>
|
</ComboBox>-->
|
|
<ui:MultiComboBox SelectedValues="{Binding TargetType}"
|
Style="{StaticResource FormComboxStyle}"
|
pu:ComboBoxHelper.ClearButtonVisibility="Collapsed"
|
MinWidth="180" Margin="0,0,10,0" x:Name="CbFilter" IsEditable="True" IsReadOnly="True" >
|
<ui:MultiComboBox.ItemTemplate>
|
<DataTemplate DataType="util:ItemData">
|
<StackPanel Orientation="Horizontal">
|
<CheckBox IsChecked="{Binding IsChecked,UpdateSourceTrigger=PropertyChanged}" />
|
<TextBlock Text="{Binding DisplayName}" />
|
</StackPanel>
|
</DataTemplate>
|
</ui:MultiComboBox.ItemTemplate>
|
</ui:MultiComboBox>
|
|
<!--<ComboBox Style="{StaticResource FormComboxStyle}" MinWidth="180" Margin="0,0,10,0" x:Name="CbFilter"/>-->
|
|
<Button Style="{StaticResource RfhBtn}" Command="{Binding RefreshCommand}"/>
|
</StackPanel>
|
</pu:FormGroup>
|
|
|
<pu:FormGroup Header="{Binding CurrentSeqTitle}" Orientation="Vertical" Grid.Row="2" Grid.Column="1">
|
<!--<DataGrid ItemsSource="{Binding Source={StaticResource cvs}}"
|
RowStyle="{StaticResource StepRow}"
|
SelectedItem="{Binding CurrentStepUI}">
|
<DataGrid.GroupStyle>
|
<GroupStyle>
|
<GroupStyle.Panel>
|
<ItemsPanelTemplate>
|
<DataGridRowsPresenter/>
|
</ItemsPanelTemplate>
|
</GroupStyle.Panel>
|
<GroupStyle.ContainerStyle>
|
<Style TargetType="{x:Type GroupItem}" BasedOn="{StaticResource DataGridGroupStyle}"/>
|
</GroupStyle.ContainerStyle>
|
</GroupStyle>
|
</DataGrid.GroupStyle>
|
|
<DataGrid.Columns>
|
<DataGridTextColumn Width="2*" Binding="{Binding Name}">
|
<DataGridTextColumn.Header>
|
<TextBlock Text="{DynamicResource se.name}"/>
|
</DataGridTextColumn.Header>
|
</DataGridTextColumn>
|
|
<DataGridTextColumn Width="1*" Binding="{Binding Type}">
|
<DataGridTextColumn.Header>
|
<TextBlock Text="{DynamicResource se.name}"/>
|
</DataGridTextColumn.Header>
|
</DataGridTextColumn>
|
|
<DataGridTextColumn Width="6*" Binding="{Binding Description}">
|
<DataGridTextColumn.Header>
|
<TextBlock Text="{DynamicResource se.description}"/>
|
</DataGridTextColumn.Header>
|
</DataGridTextColumn>
|
|
<DataGridTemplateColumn Width="1*">
|
<DataGridTemplateColumn.Header>
|
<TextBlock Text="{DynamicResource se.runMode}"/>
|
</DataGridTemplateColumn.Header>
|
<DataGridTemplateColumn.CellTemplate>
|
<DataTemplate>
|
<Grid x:Name="border" Margin="0">
|
<TextBlock x:Name="text" Margin="-1" Padding="0" VerticalAlignment="Center"/>
|
</Grid>
|
<DataTemplate.Triggers>
|
<DataTrigger Binding="{Binding RunMode}" Value="Normal">
|
<Setter TargetName="text" Property="Text" Value="{DynamicResource se.normal}"/>
|
</DataTrigger>
|
<DataTrigger Binding="{Binding RunMode}" Value="Skip">
|
<Setter TargetName="text" Property="Text" Value="{DynamicResource se.skip}"/>
|
</DataTrigger>
|
<DataTrigger Binding="{Binding RunMode}" Value="Pass">
|
<Setter TargetName="text" Property="Text" Value="{DynamicResource se.pass}"/>
|
</DataTrigger>
|
<DataTrigger Binding="{Binding RunMode}" Value="Fail">
|
<Setter TargetName="text" Property="Text" Value="{DynamicResource se.fail}"/>
|
</DataTrigger>
|
</DataTemplate.Triggers>
|
</DataTemplate>
|
</DataGridTemplateColumn.CellTemplate>
|
</DataGridTemplateColumn>
|
</DataGrid.Columns>
|
ItemsSource="{Binding AllSteps,Converter={StaticResource treeC}}"
|
</DataGrid>-->
|
|
<ui:TreeDataGrid Grid.Row="1" x:Name="treeDataGrid"
|
VirtualizingPanel.IsContainerVirtualizable="True"
|
VirtualizingPanel.IsVirtualizing="True"
|
VirtualizingPanel.VirtualizationMode="Recycling"
|
ScrollViewer.CanContentScroll="False"
|
VirtualizingPanel.IsVirtualizingWhenGrouping="True"
|
EnableColumnVirtualization="True"
|
EnableRowVirtualization="True"
|
PreviewMouseWheel="treeDataGrid_PreviewMouseWheel"
|
AutoGenerateColumns="False"
|
IsReadOnly="True"
|
Style="{StaticResource DefaultDataGrid}"
|
ItemsSource="{Binding Source={StaticResource TreeGridFilter}}"
|
SelectedItem="{Binding TreeItemData}">
|
|
<!--<DataGrid.GroupStyle>
|
<GroupStyle>
|
<GroupStyle.ContainerStyle>
|
<Style TargetType="{x:Type GroupItem}">
|
<Setter Property="Margin" Value="0,0,0,5" />
|
<Setter Property="Template">
|
<Setter.Value>
|
<ControlTemplate TargetType="{x:Type GroupItem}">
|
<GroupBox Header="{Binding Name}">
|
<ItemsPresenter />
|
</GroupBox>
|
</ControlTemplate>
|
</Setter.Value>
|
</Setter>
|
</Style>
|
</GroupStyle.ContainerStyle>
|
</GroupStyle>
|
</DataGrid.GroupStyle>-->
|
|
<ui:TreeDataGrid.Columns>
|
<DataGridTemplateColumn IsReadOnly="True" Width="Auto">
|
<DataGridTemplateColumn.CellTemplate>
|
<DataTemplate>
|
<ui:TreeItemContentControl IconLineStroke="Black" TreeData="{Binding }"/>
|
</DataTemplate>
|
</DataGridTemplateColumn.CellTemplate>
|
</DataGridTemplateColumn>
|
|
<DataGridTextColumn Header="名称" Width="1*" Binding="{Binding Data.Name}"></DataGridTextColumn>
|
<DataGridTextColumn Header="类型" Width="1*" Binding="{Binding Data.Type}"></DataGridTextColumn>
|
<DataGridTextColumn Header="描述" Width="7*" Binding="{Binding Data.Description}"></DataGridTextColumn>
|
<DataGridTextColumn Header="RunMode" Width="*" Binding="{Binding Data.RunMode}"></DataGridTextColumn>
|
</ui:TreeDataGrid.Columns>
|
</ui:TreeDataGrid>
|
|
</pu:FormGroup>
|
|
<pu:FormGroup Header="{DynamicResource se.propertySetting}" Orientation="Vertical"
|
Grid.Row="2" Padding="0,10" Grid.Column="2">
|
<Border x:Name="editPanelContainer" Background="#FFF">
|
</Border>
|
</pu:FormGroup>
|
</Grid>
|
</Border>
|
</hb:PluginControl>
|