alielie
2025-10-10 15bbd62b0b24b72c717ae91ab45348a2083ad04e
Plugin.SeqEditor/SeqEditor.xaml
@@ -4,6 +4,7 @@
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:Plugin.SeqEditor"
             xmlns:sp="clr-namespace:Plugin.SeqEditor.SettingPanel"
             mc:Ignorable="d" 
             xmlns:hcu="clr-namespace:HMI.Core.Util;assembly=HMI.Core"
             xmlns:hb="clr-namespace:HMI.Base;assembly=HMI.Base"
@@ -31,7 +32,11 @@
                <ResourceDictionary Source="/HMI.UI;component/Controls/TreeGrid/Themes/TreeGrid.xaml"/>
            </ResourceDictionary.MergedDictionaries>
            <x:Static x:Key="runModeResource" Member="util:RunModeData.ItemSource"/>
            <uic:IndentConverter x:Key="IndentConverter"/>
            <local:RowNumberConverter x:Key="treeNumber"/>
            <Style TargetType="pu:FormGroup">
                <Setter Property="Padding" Value="0,10"/>
@@ -151,18 +156,16 @@
        <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*"/>
                <ColumnDefinition Width="8.5*"/>
                <ColumnDefinition Width="1.5*"/>
            </Grid.ColumnDefinitions>
            <DockPanel Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" Margin="0,0,0,10">
            <DockPanel Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Margin="0,0,0,10">
                <StackPanel DockPanel.Dock="Right"  Orientation="Horizontal"
        dp:StackPanelHelper.ChildSpace="10">
        dp:StackPanelHelper.ChildSpace="10" Margin="0,5">
                    <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="&#xe60b;"
@@ -171,13 +174,13 @@
                    <Button Style="{StaticResource DelBtn}" Content="{DynamicResource se.close}"
                            pu:ButtonHelper.Icon="&#xe609;"
                            Command="{Binding CloseSeqFileCommand}"/>
                    <!--<Button Style="{StaticResource DelBtn}" Content="一键展开"
                            x:Name="treeAll"
                            Click="Button_Click"/>-->
                </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"
                <TextBlock DockPanel.Dock="Right" FontSize="{StaticResource ContentFontSize2}"
                           Margin="20,0,20,0"
VerticalAlignment="Bottom" LineHeight="{StaticResource TitleFontSize}" HorizontalAlignment="Left">
                <Run Text="{Binding CurrentFileName}"/>
                <Run DataContext="{Binding CurrentSeqUI}">
@@ -192,6 +195,20 @@
                    </Run.Style>
                </Run>
                </TextBlock>
                <!--<TextBlock DockPanel.Dock="Left" FontSize="{StaticResource TitleFontSize}"
           VerticalAlignment="Center" HorizontalAlignment="Left" Text="{DynamicResource se.title}"/>-->
                <pu:FormGroup DockPanel.Dock="Left" Header="步骤类型" Style="{StaticResource InputFormGroupStyle}">
                    <StackPanel Orientation="Horizontal">
                        <ui:MultiComboBox SelectedValues="{Binding TargetType}"
                          pu:ComboBoxHelper.ClearButtonVisibility="Collapsed"
                          Width="450" Margin="0,0,10,0" x:Name="CbFilter" IsEditable="True" IsReadOnly="True" >
                        </ui:MultiComboBox>
                        <Button Style="{StaticResource RfhBtn}" Command="{Binding RefreshCommand}"/>
                    </StackPanel>
                </pu:FormGroup>
            </DockPanel>
            <!--<pu:FormGroup Header="{DynamicResource se.seq}" Orientation="Vertical" Grid.Row="1" Grid.Column="0">
@@ -205,19 +222,10 @@
                    </DataGrid.Columns>
                </DataGrid>
            </pu:FormGroup>-->
            <pu:FormGroup Grid.Row="1" Grid.Column="1" Header="步骤类型" Style="{StaticResource InputFormGroupStyle}">
                <StackPanel Orientation="Horizontal">
                    <ui:MultiComboBox SelectedValues="{Binding TargetType}"
                                      pu:ComboBoxHelper.ClearButtonVisibility="Collapsed"
                                      Width="450" Margin="0,0,10,0" x:Name="CbFilter" IsEditable="True" IsReadOnly="True" >
                    </ui:MultiComboBox>
                    <Button Style="{StaticResource RfhBtn}" Command="{Binding RefreshCommand}"/>
                </StackPanel>
            </pu:FormGroup>
            <pu:FormGroup Header="{Binding CurrentSeqTitle}" Orientation="Vertical" Grid.Row="2" Grid.Column="1">
            <pu:FormGroup Header="{Binding CurrentSeqTitle}" Orientation="Vertical" Grid.Row="1" Grid.Column="0">
                <!--<DataGrid ItemsSource="{Binding Source={StaticResource cvs}}"
                          RowStyle="{StaticResource StepRow}"
                          SelectedItem="{Binding CurrentStepUI}">
@@ -377,8 +385,11 @@
                </ui:TreeDataGrid>-->
                <ui:TreeListView Grid.Row="1" Grid.Column="1" ItemsSource="{Binding AllSteps}"
                <ui:TreeListView Grid.Row="1" Grid.Column="0" ItemsSource="{Binding AllSteps}"
                                 dd:DragDrop.IsDragSource="True"
                                 FontSize="14"
                                 x:Name="treeList"
                                 pu:TreeViewHelper.ItemsHeight="{DynamicResource nanD}"
                                 dd:DragDrop.IsDropTarget="True"
                                 dd:DragDrop.DropTargetAdornerBrush="Red"
                                 dd:DragDrop.DropHandler="{Binding StepDropHandler}"
@@ -393,11 +404,12 @@
                    </i:Interaction.Triggers>
                    <ui:TreeListView.Resources>
                        <Style x:Key="CellBorder" TargetType="Border">
                            <Setter Property="Padding" Value="5"/>
                            <Setter Property="Padding" Value="2"/>
                            <Setter Property="BorderBrush" Value="{DynamicResource CommonBoarder}"/>
                            <Setter Property="BorderThickness" Value="1,0,0,1"/>
                            <Setter Property="Margin" Value="-6,0"/>
                        </Style>
                        <Style TargetType="ScrollBar" BasedOn="{StaticResource ScrollStyle_Mobile}"/>
                    </ui:TreeListView.Resources>
                    <ui:TreeListView.Style>
@@ -405,6 +417,7 @@
                            <Setter Property="pu:TreeViewHelper.ToggleArrowToggleButtonStyle" Value="{StaticResource TreeTogg}"/>
                            <Setter Property="pu:TreeViewHelper.ItemsPadding" Value="0"/>
                            <Setter Property="Background" Value="#FFF"/>
                            <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
                            <Setter Property="ColumnHeaderContainerStyle" Value="{StaticResource gvh}"/>
                            <Setter Property="Template">
                                <Setter.Value>
@@ -437,19 +450,21 @@
                    </ui:TreeListView.Style>
                    <ui:TreeListView.Columns>
                        <GridViewColumn Header="名称" HeaderContainerStyle="{StaticResource gvh}"
                        <GridViewColumn Header="序号" HeaderContainerStyle="{StaticResource gvh}"
                                        Width="80"
                                        HeaderTemplate="{StaticResource gvht}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Border Style="{StaticResource CellBorder}">
                                        <StackPanel Orientation="Horizontal">
                                        <StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
                                            <ToggleButton x:Name="Expander"
      Style="{StaticResource ExpandCollapseToggleStyle}"
                                          Margin="{Binding level,Converter={StaticResource IndentConverter},RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ui:TreeListViewItem,AncestorLevel=1}}"
      Grid.Column="0"
IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=ui:TreeListViewItem,AncestorLevel=1}}"
ClickMode="Press"/>
                                            <TextBlock Margin="5,0,0,0" Padding="6,0" Text="{Binding Name}"/>
                                            <TextBlock Margin="5,0,0,0" Padding="6,0"
                                                       Text="{Binding CustomIndex}"/>
                                        </StackPanel>
                                    </Border>
@@ -465,8 +480,62 @@
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="类型" HeaderContainerStyle="{StaticResource gvh}"
                        <GridViewColumn Header="名称" HeaderContainerStyle="{StaticResource gvh}"
                                        Width="200"
                                        HeaderTemplate="{StaticResource gvht}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Border Style="{StaticResource CellBorder}">
                                        <TextBlock Margin="5,0,0,0" Padding="6,0" Text="{Binding Name}"/>
                                    </Border>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="{DynamicResource se.runMode}"
                                        Width="100"
                                        HeaderContainerStyle="{StaticResource gvh}"
                                        HeaderTemplate="{StaticResource gvht}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Border Style="{StaticResource CellBorder}">
                                        <!--<TextBlock Padding="6,0" Text="{Binding RunMode}"/>-->
                                        <ui:TableComboBox CanEdit="True"
                                                          DisplayMemberPath="DisplayName" SelectedValuePath="DataValue"
                                                          ItemsSource="{StaticResource runModeResource}"
                                                          Value="{Binding RunMode,Mode=TwoWay}"/>
                                    </Border>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="Low" HeaderContainerStyle="{StaticResource gvh}"
                                        Width="300"
                HeaderTemplate="{StaticResource gvht}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Border Style="{StaticResource CellBorder}">
                                        <ui:EditBox Value="{Binding Low,Mode=TwoWay}" CanEdit="{Binding HasLow}"/>
                                    </Border>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="High" HeaderContainerStyle="{StaticResource gvh}"
                                        Width="300"
HeaderTemplate="{StaticResource gvht}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Border Style="{StaticResource CellBorder}">
                                        <ui:EditBox Value="{Binding High,Mode=TwoWay}" CanEdit="{Binding HasHigh}"/>
                                    </Border>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="类型" HeaderContainerStyle="{StaticResource gvh}"
                                        Width="120"
                HeaderTemplate="{StaticResource gvht}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Border Style="{StaticResource CellBorder}">
@@ -477,24 +546,12 @@
                        </GridViewColumn>
                        <GridViewColumn Header="描述" HeaderContainerStyle="{StaticResource gvh}"
                                        HeaderTemplate="{StaticResource gvht}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Border Style="{StaticResource CellBorder}">
                                        <TextBlock Padding="6,0" Text="{Binding Description}"/>
                                    </Border>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>
                        <GridViewColumn Header="{DynamicResource se.runMode}"
                                        Width="80"
                                        HeaderContainerStyle="{StaticResource gvh}"
                                        HeaderTemplate="{StaticResource gvht}">
                                        Width="500"
                HeaderTemplate="{StaticResource gvht}">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <Border Style="{StaticResource CellBorder}" BorderThickness="1,0,1,1">
                                        <TextBlock Padding="6,0" Text="{Binding RunMode}"/>
                                        <TextBlock Padding="6,0" Text="{Binding Description}"/>
                                    </Border>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
@@ -513,11 +570,14 @@
            </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>
            <StackPanel Grid.Row="1" Grid.Column="1">
                <pu:FormGroup Header="{DynamicResource se.propertySetting}" Orientation="Vertical"
             Padding="0,10" >
                    <Border x:Name="editPanelContainer" Background="#FFF">
                    </Border>
                </pu:FormGroup>
                <sp:LoopPanel x:Name="loopPanel" DataContext="{Binding CurrentStepUI}"/>
            </StackPanel>
        </Grid>
    </Border>
</hb:PluginControl>