| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479 | <UserControl x:Class="MECF.Framework.UI.Client.CenterViews.Editors.Sequence.SequenceView"             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:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"             xmlns:editors="clr-namespace:MECF.Framework.UI.Client.CenterViews.Editors"             xmlns:controls="clr-namespace:OpenSEMI.Ctrlib.Controls"             xmlns:micro="clr-namespace:Caliburn.Micro"             xmlns:dgExtension="clr-namespace:RecipeEditorLib.DGExtension"             mc:Ignorable="d"              d:DesignHeight="450" d:DesignWidth="1900">    <UserControl.Resources>        <DataTemplate x:Key="ParamTemplate">            <Grid Width="250" Margin="0,5">                <Grid.LayoutTransform>                    <TransformGroup>                        <RotateTransform Angle="-90"/>                        <ScaleTransform ScaleX="1" ScaleY="-1" />                    </TransformGroup>                </Grid.LayoutTransform>                <TextBlock Text="{Binding DisplayName}" FontFamily="Arial" FontSize="16" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="5,0"/>            </Grid>        </DataTemplate>        <DataTemplate x:Key="TemplateTextBlock">            <Grid>                <Grid.LayoutTransform>                    <TransformGroup>                        <RotateTransform Angle="-90"/>                        <ScaleTransform ScaleX="1" ScaleY="-1" />                    </TransformGroup>                </Grid.LayoutTransform>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Padding="5,1" Width="150" Height="30">                    <TextBlock Visibility="{Binding Visible}" Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Width="Auto" />                </Border>            </Grid>        </DataTemplate>        <DataTemplate x:Key="TemplateStep">            <Grid>                <Grid.LayoutTransform>                    <TransformGroup>                        <RotateTransform Angle="-90"/>                        <ScaleTransform ScaleX="1" ScaleY="-1" />                    </TransformGroup>                </Grid.LayoutTransform>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Padding="5,1" Width="150" Height="30">                    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">                        <controls:CheckBoxExt IsChecked="{Binding Checked}" CheckBoxSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="0,4"/>                        <TextBlock Visibility="{Binding Visible}" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14"/>                    </StackPanel>                </Border>            </Grid>        </DataTemplate>        <DataTemplate x:Key="TemplateText">            <Grid>                <Grid.LayoutTransform>                    <TransformGroup>                        <RotateTransform Angle="-90"/>                        <ScaleTransform ScaleX="1" ScaleY="-1" />                    </TransformGroup>                </Grid.LayoutTransform>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Padding="5,1" Width="150" Height="30">                    <controls:TextBoxEx Visibility="{Binding Visible}" IsEnabled="{Binding IsEnabled}" TextSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Width="Auto" />                </Border>            </Grid>        </DataTemplate>        <DataTemplate x:Key="TemplateSignInteger">            <Grid>                <Grid.LayoutTransform>                    <TransformGroup>                        <RotateTransform Angle="-90"/>                        <ScaleTransform ScaleX="1" ScaleY="-1" />                    </TransformGroup>                </Grid.LayoutTransform>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Padding="5,1" Width="150">                    <controls:TextBoxEx Visibility="{Binding Visible}" EditBoxMode="SignInteger" TextSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" IsEnabled="{Binding IsEnabled}" Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Width="Auto" />                </Border>            </Grid>        </DataTemplate>        <DataTemplate x:Key="TemplateRecipeSelection">            <Grid>                <Grid.LayoutTransform>                    <TransformGroup>                        <RotateTransform Angle="-90"/>                        <ScaleTransform ScaleX="1" ScaleY="-1" />                    </TransformGroup>                </Grid.LayoutTransform>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Padding="5,1" Width="150" Height="30">                    <Grid>                        <Grid.ColumnDefinitions>                            <ColumnDefinition />                            <ColumnDefinition Width="Auto"/>                        </Grid.ColumnDefinitions>                        <controls:TextBoxEx Visibility="{Binding Visible}"                                         IsReadOnly="True"                                         TextSaved="True"                                         Text="{Binding FileName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14" Width="Auto" ToolTip="{Binding RelativeSource={RelativeSource Self}, Path=Text}"/>                        <Button Grid.Column="1" Content="..." Foreground="White" FontSize="20" Visibility="{Binding Visible}" Width="30" Height="20" Margin="5,0,0,0">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <micro:ActionMessage MethodName="SelectRecipe">                                        <micro:Parameter Value="{Binding}" />                                    </micro:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </Grid>                </Border>            </Grid>        </DataTemplate>        <DataTemplate x:Key="TemplateCombox">            <Grid>                <Grid.LayoutTransform>                    <TransformGroup>                        <RotateTransform Angle="-90"/>                        <ScaleTransform ScaleX="1" ScaleY="-1" />                    </TransformGroup>                </Grid.LayoutTransform>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Padding="5,1" Width="150">                    <controls:ComboBoxExt Style="{StaticResource ResourceKey={x:Type ComboBox}}"                                       Visibility="{Binding Visible}"                                       ComboBoxSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"                                       IsEnabled="{Binding IsEnabled}"                                       DisplayMemberPath="DisplayName"                                       SelectedValuePath="ControlName"                                       SelectedValue="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"                                       ItemsSource="{Binding Options}"/>                </Border>            </Grid>        </DataTemplate>        <DataTemplate x:Key="TemplateMultiSelection">            <Grid>                <Grid.LayoutTransform>                    <TransformGroup>                        <RotateTransform Angle="-90"/>                        <ScaleTransform ScaleX="1" ScaleY="-1" />                    </TransformGroup>                </Grid.LayoutTransform>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Padding="5,1" MinHeight="30">                    <ListBox ItemsSource="{Binding Options}" Visibility="{Binding Visible}">                        <ListBox.ItemTemplate>                            <DataTemplate>                                <StackPanel Orientation="Horizontal" Margin="5,5">                                    <CheckBox IsChecked="{Binding IsChecked, UpdateSourceTrigger=PropertyChanged}"/>                                    <TextBlock Text="{Binding DisplayName}"/>                                </StackPanel>                            </DataTemplate>                        </ListBox.ItemTemplate>                        <ListBox.ItemsPanel>                            <ItemsPanelTemplate>                                <WrapPanel Width="139" HorizontalAlignment="Center" VerticalAlignment="Center"/>                            </ItemsPanelTemplate>                        </ListBox.ItemsPanel>                    </ListBox>                </Border>            </Grid>        </DataTemplate>        <DataTemplate x:Key="ParamExpander">            <Grid>                <Grid.ColumnDefinitions>                    <ColumnDefinition/>                    <ColumnDefinition/>                </Grid.ColumnDefinitions>                <TextBlock Text="{Binding DisplayName}"/>                <Expander Grid.Column="1" HorizontalAlignment="Left"                      HorizontalContentAlignment="Left"                      VerticalAlignment="Stretch"                      IsExpanded="{Binding IsExpanded}"                      VerticalContentAlignment="Stretch">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Expanded">                            <micro:ActionMessage MethodName="ParamsExpanded">                                <micro:Parameter Value="{Binding}" />                            </micro:ActionMessage>                        </i:EventTrigger>                        <i:EventTrigger EventName="Collapsed">                            <micro:ActionMessage MethodName="ParamsCollapsed">                                <micro:Parameter Value="{Binding}" />                            </micro:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Expander>                <Grid.LayoutTransform>                    <TransformGroup>                        <RotateTransform Angle="-90"/>                        <ScaleTransform ScaleX="1" ScaleY="-1" />                    </TransformGroup>                </Grid.LayoutTransform>            </Grid>        </DataTemplate>        <DataTemplate x:Key="TemplateExpander">            <TextBlock HorizontalAlignment="Left" FontFamily="Arial" FontSize="14" VerticalAlignment="Center">                <TextBlock.LayoutTransform>                    <TransformGroup>                        <RotateTransform Angle="-90"/>                        <ScaleTransform ScaleX="1" ScaleY="-1" />                    </TransformGroup>                </TextBlock.LayoutTransform>            </TextBlock>        </DataTemplate>        <HierarchicalDataTemplate x:Key="FolderTemplate" ItemsSource="{Binding Files}">            <StackPanel Orientation="Horizontal" Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}, Path=DataContext}">                <Image x:Name="ExpandImage" Source="/MECF.Framework.UI.Client;component/Resources/Images/Folder_Close.png" Width="14" Height="12" Margin="2,0,0,0" VerticalAlignment="Center"/>                <TextBlock Text="{Binding Name}" Margin="5,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left"/>                <StackPanel.ContextMenu>                    <ContextMenu DataContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}">                        <MenuItem Header="Create Sequence" Command="{Binding NewSequenceCommand}"></MenuItem>                        <Separator/>                        <MenuItem Header="Create Folder" Command="{Binding NewFolderCommand}">                        </MenuItem>                        <MenuItem Header="Delete Folder" Command="{Binding DeleteFolderCommand}">                        </MenuItem>                    </ContextMenu>                </StackPanel.ContextMenu>            </StackPanel>            <HierarchicalDataTemplate.Triggers>                <Trigger Property="IsEnabled" Value="false">                    <Setter Property="Image.Source" TargetName="ExpandImage" Value="/MECF.Framework.UI.Client;component/Resources/Images/Folder_Unable.png"/>                </Trigger>                <!--<DataTrigger Binding="{Binding HasItems}" Value="True">                <Setter Property="Image.Source" TargetName="ExpandImage" Value="Folder_Open.png"/>            </DataTrigger>-->            </HierarchicalDataTemplate.Triggers>        </HierarchicalDataTemplate>        <HierarchicalDataTemplate x:Key="FileTemplate" ItemsSource="{Binding Files}">            <StackPanel Orientation="Horizontal" Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}, Path=DataContext}">                <Path Data="M0.5,5.125 L5.125,5.125 5.125,0.5 M5.1,0.5 L15.5,0.5 15.5,19.5 0.5,19.5 C0.5,14.7 0.5,10 0.5,5.1 2,3.6 3.6,2 5.1,0.5 z M8.1,8.5 L8.2,8.5 z M8.1,11.5 L8.2,11.5 z M8.1,14.5 L8.2,14.5 z" Fill="#FFF3F3F3" HorizontalAlignment="Left" Stretch="Fill" Stroke="#FF454545" Width="13" Height="16"/>                <TextBlock Text="{Binding Name}" Margin="5,0,0,0" VerticalAlignment="Center" HorizontalAlignment="Left"/>                <StackPanel.ContextMenu>                    <ContextMenu DataContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}">                        <MenuItem Header="Save As..." Command="{Binding SaveAsCommand}">                        </MenuItem>                        <MenuItem Header="Rename Sequence" Command="{Binding RenameCommand}">                        </MenuItem>                        <MenuItem Header="Delete Sequence" Command="{Binding DeleteSequenceCommand}">                        </MenuItem>                    </ContextMenu>                </StackPanel.ContextMenu>            </StackPanel>        </HierarchicalDataTemplate>        <editors:FolderOrFileTemplateSelector x:Key="FolderFileTemplateSelector" FolderTemplate="{StaticResource FolderTemplate}" FileTemplate="{StaticResource FileTemplate}"/>    </UserControl.Resources>    <Grid HorizontalAlignment="Left">        <Grid.ColumnDefinitions>            <ColumnDefinition Width="Auto" MinWidth="275"/>            <ColumnDefinition />        </Grid.ColumnDefinitions>        <GridSplitter HorizontalAlignment="Right" Width="5" BorderThickness="0,8" Margin="0,0,-5,0">            <GridSplitter.Background>                <SolidColorBrush/>            </GridSplitter.Background>        </GridSplitter>        <Grid>            <Grid.RowDefinitions>                <RowDefinition Height="Auto"/>                <RowDefinition Height="740"/>            </Grid.RowDefinitions>            <StackPanel Orientation="Horizontal" IsEnabled="{Binding IsPermission}">                <Button Content="New" Width="85" Height="30" IsEnabled="{Binding EnableNew}">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <micro:ActionMessage MethodName="NewSequence">                            </micro:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>                <Button Content="Rename" Margin="10,0,0,0" Width="85" Height="30"  IsEnabled="{Binding EnableReName}">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <micro:ActionMessage MethodName="RenameSequence">                            </micro:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>                <Button Content="Delete" Margin="10,0,0,0" Width="85" Height="30" IsEnabled="{Binding EnableDelete}">                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="Click">                            <micro:ActionMessage MethodName="DeleteSequence">                            </micro:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                </Button>            </StackPanel>            <Border Grid.Row="1" Margin="0,5,0,0" BorderBrush="{DynamicResource Tab_BD}" BorderThickness="1" Background="{DynamicResource Tab_BG}">                <TreeView x:Name="PART_TREE" Grid.Row="1" Margin="5" ItemsSource="{Binding Files[0].Files}" ItemTemplateSelector="{StaticResource FolderFileTemplateSelector}"                       VirtualizingPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Recycling"                         Height="{Binding Path=ActualHeight,ElementName=PART_BORDER, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">                    <!--Height should add for VirtualizingPanel, otherwise the App will be slow-->                    <TreeView.ItemContainerStyle>                        <Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource ResourceKey={x:Type TreeViewItem}}">                            <Setter Property="IsExpanded" Value="True"></Setter>                        </Style>                    </TreeView.ItemContainerStyle>                    <i:Interaction.Triggers>                        <i:EventTrigger EventName="SelectedItemChanged">                            <micro:ActionMessage MethodName="TreeSelectChanged">                                <micro:Parameter Value="{Binding SelectedItem, ElementName=PART_TREE}" />                            </micro:ActionMessage>                        </i:EventTrigger>                        <i:EventTrigger EventName="MouseRightButtonDown">                            <micro:ActionMessage MethodName="TreeRightMouseDown">                                <micro:Parameter Value="$eventargs" />                            </micro:ActionMessage>                        </i:EventTrigger>                    </i:Interaction.Triggers>                    <TreeView.ContextMenu>                        <ContextMenu>                            <MenuItem Header="New Sequence" Command="{Binding NewSequenceInParentCommand}"></MenuItem>                            <Separator/>                            <!--<MenuItem Header="New Folder" Command="{Binding NewFolderInParentCommand}">                            </MenuItem>-->                        </ContextMenu>                    </TreeView.ContextMenu>                </TreeView>            </Border>        </Grid>        <Grid Grid.Column="1">            <Grid.RowDefinitions>                <RowDefinition Height="Auto"/>                <RowDefinition />            </Grid.RowDefinitions>            <Grid Width="1600" HorizontalAlignment="Left" Margin="10,0,0,0" IsEnabled="{Binding IsPermission}">                <Grid.ColumnDefinitions>                    <ColumnDefinition Width="150"/>                    <ColumnDefinition Width="10*"/>                    <ColumnDefinition Width="150"/>                    <ColumnDefinition Width="8*"/>                    <ColumnDefinition Width="8*"/>                    <ColumnDefinition Width="Auto"/>                </Grid.ColumnDefinitions>                <Grid.RowDefinitions>                    <RowDefinition Height="30"/>                    <RowDefinition Height="30"/>                    <RowDefinition Height="Auto"/>                </Grid.RowDefinitions>                <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="1" Background="{DynamicResource Table_BG_Title}" Padding="5,1">                    <TextBlock Text="Name" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="16" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">                    <controls:TextBoxEx AllowBackgroundChange="False" IsEnabled="false"  Text="{Binding CurrentSequence.Name}" TextWrapping="Wrap" VerticalAlignment="Center" MinWidth="100" Width="Auto"/>                </Border>                <Border Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Title}" Padding="5,1">                    <TextBlock Text="Create" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="16" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border Grid.Column="3" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">                    <TextBlock Text="{Binding CurrentSequence.Creator}" HorizontalAlignment="Left" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" MinWidth="100" Width="Auto"/>                </Border>                <Border Grid.Column="4" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">                    <TextBlock Text="{Binding CurrentSequence.CreateTime}" HorizontalAlignment="Left" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" MinWidth="100" Width="Auto"/>                </Border>                <Border Grid.Row="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Padding="5,1">                    <TextBlock Text="Description" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="16" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border Grid.Row="1" Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">                    <controls:TextBoxEx Text="{Binding CurrentSequence.Description}" TextSaved="{Binding IsSavedDesc, Mode=TwoWay}" TextWrapping="Wrap" VerticalAlignment="Center" MinWidth="100" Width="Auto"/>                </Border>                <Border Grid.Row="1" Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Title}" Padding="5,1">                    <TextBlock Text="Revise" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="16" FontFamily="Arial" VerticalAlignment="Center"/>                </Border>                <Border Grid.Row="1" Grid.Column="3" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">                    <TextBlock Text="{Binding CurrentSequence.Revisor}" HorizontalAlignment="Left" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="120"/>                </Border>                <Border Grid.Row="1" Grid.Column="4" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">                    <TextBlock Text="{Binding CurrentSequence.ReviseTime}" HorizontalAlignment="Left" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" MinWidth="140"/>                </Border>            </Grid>            <Grid Grid.Row="1" Margin="10,10,0,0">                <Grid.RowDefinitions>                    <RowDefinition Height="50"/>                    <RowDefinition />                </Grid.RowDefinitions>                <Grid>                    <StackPanel Orientation="Horizontal" IsEnabled="{Binding IsPermission}">                        <Button Content="Append" Width="90" Height="30" IsEnabled="{Binding EnableStep}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <micro:ActionMessage MethodName="AddStep">                                    </micro:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="Insert" Margin="10,0,0,0" Width="90" Height="30" IsEnabled="{Binding EnableStep}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <micro:ActionMessage MethodName="AppendStep">                                    </micro:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="Copy" Margin="10,0,0,0" Width="90" Height="30" IsEnabled="{Binding EnableStep}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <micro:ActionMessage MethodName="CopyStep">                                    </micro:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="Paste" Margin="10,0,0,0" Width="90" Height="30" IsEnabled="{Binding EnableStep}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <micro:ActionMessage MethodName="PasteStep">                                    </micro:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Content="Delete" Margin="10,0,0,0" Width="90" Height="30" IsEnabled="{Binding EnableStep}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <micro:ActionMessage MethodName="DeleteStep">                                    </micro:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Margin="200,0,0,0" Width="90" Height="30" Content="Reload">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <micro:ActionMessage MethodName="ReloadSequence">                                    </micro:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                        <Button Margin="10,0,0,0" Width="90" Height="30" Content="Save" IsEnabled="{Binding EnableSave}">                            <i:Interaction.Triggers>                                <i:EventTrigger EventName="Click">                                    <micro:ActionMessage MethodName="SaveSequence">                                    </micro:ActionMessage>                                </i:EventTrigger>                            </i:Interaction.Triggers>                        </Button>                    </StackPanel>                </Grid>                <Grid Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Top">                    <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">                        <dgExtension:XDataGrid x:Name="dgCustom" AlternationCount="2"                                          HeadersVisibility="Column" AutoGenerateColumns="False" GridLinesVisibility="None"                                          CanUserResizeColumns="False" CanUserResizeRows="False"  CanUserDeleteRows="False"                                         Background="#00FFFFFF" CanUserAddRows="False"  UseHorizontalScrolling="True" IsEnabled="{Binding IsPermission}"                                 VirtualizingPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Recycling">                            <dgExtension:XDataGrid.LayoutTransform>                                <TransformGroup>                                    <RotateTransform Angle="-90"/>                                    <ScaleTransform ScaleX="1" ScaleY="-1" />                                </TransformGroup>                            </dgExtension:XDataGrid.LayoutTransform>                        </dgExtension:XDataGrid>                    </ScrollViewer>                    <Grid>                        <Grid.ColumnDefinitions>                            <ColumnDefinition MaxWidth="263"/>                            <ColumnDefinition Width="Auto"/>                        </Grid.ColumnDefinitions>                        <Rectangle Fill="{DynamicResource Table_BD}" Height="1" VerticalAlignment="Top"/>                    </Grid>                </Grid>            </Grid>        </Grid>    </Grid></UserControl>    
 |