| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669 | 
							- <UserControl x:Class="MECF.Framework.UI.Client.CenterViews.Editors.Recipe.RecipeEditorView"
 
-              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="900" d:DesignWidth="1500">
 
-     <UserControl.Resources>
 
-         <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,0,1,1" Padding="5,1"   >
 
-                     <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
 
-                         <controls:CheckBoxExt IsChecked="{Binding Checked}" Visibility="{Binding StepCheckVisibility}" Margin="4"/>
 
-                         <TextBlock Visibility="{Binding Visible}" Foreground="Black" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" FontSize="14"/>
 
-                     </StackPanel>
 
-                 </Border>
 
-             </Grid>
 
-         </DataTemplate>
 
-         <DataTemplate x:Key="ParamTemplate">
 
-             <Grid Width="240" 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"/>
 
-             </Grid>
 
-         </DataTemplate>
 
-         <DataTemplate x:Key="TemplateText">
 
-             <Grid>
 
-                 <Grid.LayoutTransform>
 
-                     <TransformGroup>
 
-                         <RotateTransform Angle="-90"/>
 
-                         <ScaleTransform ScaleX="1" ScaleY="-1" />
 
-                     </TransformGroup>
 
-                 </Grid.LayoutTransform>
 
-                 <Border BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="1,1">
 
-                     <controls:EditTextBlock Foreground="Black"  IsEnabled="{Binding IsEnabled}" Padding="5,3"
 
-                                         AllowBackgroundChange="True"  
 
-                                         TextSaved="{Binding IsSaved,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
 
-                                         Text="{Binding Value,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"  ></controls:EditTextBlock>
 
-                     <Border.Style>
 
-                         <Style TargetType="Border">
 
-                             <Style.Triggers>
 
-                                 <DataTrigger Binding="{Binding IsColumnSelected}" Value="True">
 
-                                     <Setter Property="BorderBrush" Value="DarkBlue"/>
 
-                                 </DataTrigger>
 
-                                 <DataTrigger Binding="{Binding IsColumnSelected}" Value="False">
 
-                                     <Setter Property="BorderBrush" Value="Transparent"/>
 
-                                 </DataTrigger>
 
-                             </Style.Triggers>
 
-                         </Style>
 
-                     </Border.Style>
 
-                 </Border>
 
-             </Grid>
 
-         </DataTemplate>
 
-         <DataTemplate x:Key="TemplateNumber">
 
-             <Grid>
 
-                 <Grid.LayoutTransform>
 
-                     <TransformGroup>
 
-                         <RotateTransform Angle="-90"/>
 
-                         <ScaleTransform ScaleX="1" ScaleY="-1" />
 
-                     </TransformGroup>
 
-                 </Grid.LayoutTransform>
 
-                 <Border  BorderThickness="0,0,1,1" Padding="1,1" Background="{DynamicResource Table_BG_Content}">
 
-                     <controls:EditTextBlock Foreground="Black" Padding="5,3"
 
-                                         TextSaved="{Binding IsSaved,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"  
 
-                                         EditBoxMode="Decimal"   
 
-                                         MinValue="{Binding Minimun}" 
 
-                                         MaxValue="{Binding Maximun}" 
 
-                                         AllowBackgroundChange="True" IsEnabled="{Binding IsEnabled}"
 
-                                         Text="{Binding Value,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"  ></controls:EditTextBlock>
 
-                     <Border.Style>
 
-                         <Style TargetType="Border">
 
-                             <Style.Triggers>
 
-                                 <DataTrigger Binding="{Binding IsColumnSelected}" Value="True">
 
-                                     <Setter Property="BorderBrush" Value="DarkBlue"/>
 
-                                 </DataTrigger>
 
-                                 <DataTrigger Binding="{Binding IsColumnSelected}" Value="False">
 
-                                     <Setter Property="BorderBrush" Value="Transparent"/>
 
-                                 </DataTrigger>
 
-                             </Style.Triggers>
 
-                         </Style>
 
-                     </Border.Style>
 
-                  </Border>
 
-             </Grid>
 
-         </DataTemplate>
 
-         <DataTemplate x:Key="TemplateCombox">
 
-             <Grid>
 
-                 <Grid.LayoutTransform>
 
-                     <TransformGroup>
 
-                         <RotateTransform Angle="-90"/>
 
-                         <ScaleTransform ScaleX="1" ScaleY="-1" />
 
-                     </TransformGroup>
 
-                 </Grid.LayoutTransform>
 
-                 <Border BorderThickness="0,0,1,1" Padding="1,1" Background="{DynamicResource Table_BG_Content}">
 
-                     <controls:ComboTextBlock Foreground="Black" IsEnabled="{Binding IsEnabled}"
 
-                                              Background="{Binding LoopBackground }" Padding="5,3"
 
-                                              IsLoopItem="{Binding IsLoopItem }" 
 
-                                          TextSaved="{Binding IsSaved,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
 
-                                          ItemsSource="{Binding Options}"  IsEditable="{Binding IsEditable }"    
 
-                                          AllowBackgroundChange="True"
 
-                                              Text="{Binding Value,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"  ></controls:ComboTextBlock>
 
-                     <Border.Style>
 
-                         <Style TargetType="Border">
 
-                             <Style.Triggers>
 
-                                 <DataTrigger Binding="{Binding IsColumnSelected}" Value="True">
 
-                                     <Setter Property="BorderBrush" Value="DarkBlue"/>
 
-                                 </DataTrigger>
 
-                                 <DataTrigger Binding="{Binding IsColumnSelected}" Value="False">
 
-                                     <Setter Property="BorderBrush" Value="Transparent"/>
 
-                                 </DataTrigger>
 
-                             </Style.Triggers>
 
-                         </Style>
 
-                     </Border.Style>
 
-                 </Border>
 
-             </Grid>
 
-         </DataTemplate>
 
-         <DataTemplate x:Key="TemplatePopSetting">
 
-             <Grid>
 
-                 <Grid.LayoutTransform>
 
-                     <TransformGroup>
 
-                         <RotateTransform Angle="-90"/>
 
-                         <ScaleTransform ScaleX="1" ScaleY="-1" />
 
-                     </TransformGroup>
 
-                 </Grid.LayoutTransform>
 
-                 <Border BorderThickness="0,0,1,1" Padding="15,1" Background="{DynamicResource Table_BG_Content}">
 
-                     <Button Foreground="Black"  
 
-                                              
 
-                                              IsEnabled="{Binding IsEnabled}"
 
-                                             Content="{Binding DisplayName}"  >
 
-                         <i:Interaction.Triggers>
 
-                             <i:EventTrigger EventName="Click">
 
-                                 <micro:ActionMessage MethodName="PopSetting">
 
-                                     <micro:Parameter Value="{Binding Name}"></micro:Parameter>
 
-                                     <micro:Parameter Value="{Binding}"></micro:Parameter>
 
-                                 </micro:ActionMessage>
 
-                             </i:EventTrigger>
 
-                         </i:Interaction.Triggers>
 
-                     </Button>
 
-                     <Border.Style>
 
-                         <Style TargetType="Border">
 
-                             <Style.Triggers>
 
-                                 <DataTrigger Binding="{Binding IsColumnSelected}" Value="True">
 
-                                     <Setter Property="BorderBrush" Value="DarkBlue"/>
 
-                                 </DataTrigger>
 
-                                 <DataTrigger Binding="{Binding IsColumnSelected}" Value="False">
 
-                                     <Setter Property="BorderBrush" Value="Transparent"/>
 
-                                 </DataTrigger>
 
-                             </Style.Triggers>
 
-                         </Style>
 
-                     </Border.Style>
 
-                 </Border>
 
-             </Grid>
 
-         </DataTemplate>
 
-         <DataTemplate x:Key="ParamExpander">
 
-             <Border Background="LightGray" Width="260" Margin="-5,-8,-6,-8">
 
-                 <Expander HorizontalAlignment="Stretch" Margin="5" Header="{Binding DisplayName}" FontSize="14"
 
-                       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>
 
-                 <Border.LayoutTransform>
 
-                     <TransformGroup>
 
-                         <RotateTransform Angle="-90"/>
 
-                         <ScaleTransform ScaleX="1" ScaleY="-1" />
 
-                     </TransformGroup>
 
-                 </Border.LayoutTransform>
 
-             </Border>
 
-         </DataTemplate>
 
-         <DataTemplate x:Key="TemplateExpander">
 
-             <Border Background="LightGray" Width="160" Margin="0,-5">
 
-                 <Border.LayoutTransform>
 
-                     <TransformGroup>
 
-                         <RotateTransform Angle="-90"/>
 
-                         <ScaleTransform ScaleX="1" ScaleY="-1" />
 
-                     </TransformGroup>
 
-                 </Border.LayoutTransform>
 
-                 <TextBlock HorizontalAlignment="Left" VerticalAlignment="Center">
 
-                 </TextBlock>
 
-             </Border>
 
-         </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}}">
 
-                         <Label Content="{Binding CurrentFileNode.FullPath}" FontWeight="Black" Margin="0"/>
 
-                         <Separator/>
 
-                         <MenuItem Header="New Recipe" Command="{Binding NewRecipeCommand}" IsEnabled="{Binding IsPermission}"></MenuItem>
 
-                         <MenuItem Header="Delete Recipe" Command="{Binding DeleteRecipeCommand}" IsEnabled="False"></MenuItem>
 
-                         <MenuItem Header="Rename Recipe" Command="{Binding RenameRecipeCommand}" IsEnabled="False"></MenuItem>
 
-                         <MenuItem Header="Save As Recipe" Command="{Binding SaveAsRecipeCommand}" IsEnabled="False"></MenuItem>
 
-                         <Separator/>
 
-                         <MenuItem Header="New Folder" Command="{Binding NewFolderCommand}"></MenuItem>
 
-                         <MenuItem Header="Delete Folder" Command="{Binding DeleteFolderCommand}"></MenuItem>
 
-                         <MenuItem Header="Rename Folder" Command="{Binding RenameFolderCommand}"></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>
 
-             </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}}">
 
-                         <Label Content="{Binding CurrentFileNode.FullPath}" FontWeight="Black" Margin="0"/> 
 
-                         <Separator/>
 
-                         <MenuItem Header="New Recipe" Command="{Binding NewRecipeCommand}" IsEnabled="{Binding IsPermission}" ></MenuItem>
 
-                         <MenuItem Header="Delete Recipe" Command="{Binding DeleteRecipeCommand}" IsEnabled="{Binding IsPermission}"></MenuItem>
 
-                         <MenuItem Header="Rename Recipe" Command="{Binding RenameRecipeCommand}" IsEnabled="{Binding IsPermission}"></MenuItem>
 
-                         <MenuItem Header="Save As Recipe" Command="{Binding SaveAsRecipeCommand}" IsEnabled="{Binding IsPermission}"></MenuItem>
 
-                         <Separator/>
 
-                         <MenuItem Header="New Folder" Command="{Binding NewFolderCommand}"  ></MenuItem>
 
-                         <MenuItem Header="Delete Folder" Command="{Binding DeleteFolderCommand}" IsEnabled="False"></MenuItem>
 
-                         <MenuItem Header="Rename Folder" Command="{Binding RenameFolderCommand}" IsEnabled="False"></MenuItem>
 
-                     </ContextMenu>
 
-                 </StackPanel.ContextMenu>
 
-             </StackPanel>
 
-         </HierarchicalDataTemplate>
 
-         <editors:FolderOrFileTemplateSelector x:Key="FolderFileTemplateSelector" 
 
-                                             FolderTemplate="{StaticResource FolderTemplate}" FileTemplate="{StaticResource FileTemplate}"/>
 
-     </UserControl.Resources>
 
-     <Grid  >
 
-         <Grid.ColumnDefinitions>
 
-             <ColumnDefinition Width="350"/>
 
-             <ColumnDefinition Width="*"/>
 
-         </Grid.ColumnDefinitions>
 
-         <Grid>
 
-             <Grid.RowDefinitions>
 
-                 <RowDefinition Height="50"/>
 
-                 <RowDefinition />
 
-             </Grid.RowDefinitions>
 
-             <StackPanel Margin="5,5,5,0">
 
-                 <StackPanel Orientation="Horizontal" IsEnabled="{Binding IsPermission}">
 
-                     <Button Content="New" Width="85" Height="30" IsEnabled="True">
 
-                         <i:Interaction.Triggers>
 
-                             <i:EventTrigger EventName="Click">
 
-                                 <micro:ActionMessage MethodName="NewRecipe">
 
-                                 </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="RenameRecipe">
 
-                                 </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="DeleteRecipe">
 
-                                 </micro:ActionMessage>
 
-                             </i:EventTrigger>
 
-                         </i:Interaction.Triggers>
 
-                     </Button>
 
-                 </StackPanel>
 
-             </StackPanel>
 
-             <Border Grid.Row="1" Margin="0,0,13,0" BorderBrush="{DynamicResource Tab_BD}" BorderThickness="0" Background="Transparent">
 
-                 <TabControl ItemsSource="{Binding ProcessTypeFileList}" VerticalAlignment="Stretch" VerticalContentAlignment="Stretch"
 
-                             HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch" Padding="0"
 
-                             SelectedIndex="{Binding ProcessTypeIndexSelection, Mode=TwoWay,  UpdateSourceTrigger=PropertyChanged}" >
 
-                     <TabControl.ItemTemplate>
 
-                         <DataTemplate>
 
-                             <TextBlock Text="{Binding ProcessType}" />
 
-                         </DataTemplate>
 
-                     </TabControl.ItemTemplate>
 
-                     <TabControl.ContentTemplate>
 
-                         <DataTemplate>
 
-                             <TreeView  x:Name="RecipeTree1" Margin="0"  VerticalAlignment="Stretch"
 
-                                   ItemsSource="{Binding FileListByProcessType}" 
 
-                                   ItemTemplateSelector="{StaticResource FolderFileTemplateSelector}"
 
-                                   Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=UserControl}, Path=DataContext}"
 
-                                   VirtualizingPanel.IsVirtualizing="True" 
 
-                                   VirtualizingPanel.VirtualizationMode="Recycling" 
 
-                                   Height="{Binding Path=ActualHeight,ElementName=PART_BORDER, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
 
-                                 <TreeView.ItemContainerStyle>
 
-                                     <Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource TreeViewItemExtend}">
 
-                                         <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"></Setter>
 
-                                         <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"></Setter>
 
-                                     </Style>
 
-                                 </TreeView.ItemContainerStyle>
 
-                                 <i:Interaction.Triggers>
 
-                                     <i:EventTrigger EventName="SelectedItemChanged">
 
-                                         <micro:ActionMessage MethodName="TreeSelectChanged">
 
-                                             <micro:Parameter Value="{Binding SelectedItem, ElementName=RecipeTree1}" />
 
-                                         </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 DataContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}"
 
-                                                  >
 
-                                         <Label Content=".\" FontWeight="Black" Margin="0"/>
 
-                                         <Separator/>
 
-                                         <MenuItem Header="New Recipe" Command="{Binding NewRecipeRootCommand}" IsEnabled="{Binding IsPermission}"></MenuItem>
 
-                                         <MenuItem Header="Delete Recipe" Command="{Binding DeleteRecipeCommand}" IsEnabled="False"></MenuItem>
 
-                                         <MenuItem Header="Rename Recipe" Command="{Binding RenameRecipeCommand}" IsEnabled="False"></MenuItem>
 
-                                         <MenuItem Header="Save As Recipe" Command="{Binding SaveAsRecipeCommand}" IsEnabled="False"></MenuItem>
 
-                                         <Separator/>
 
-                                         <MenuItem Header="New Folder" Command="{Binding NewFolderRootCommand}" IsEnabled="{Binding IsPermission}"></MenuItem>
 
-                                         <MenuItem Header="Delete Folder" Command="{Binding DeleteFolderCommand}"  IsEnabled="False" ></MenuItem>
 
-                                         <MenuItem Header="Rename Folder" Command="{Binding RenameFolderCommand}" IsEnabled="False"></MenuItem>
 
-                                     </ContextMenu>
 
-                                 </TreeView.ContextMenu>
 
-                             </TreeView>
 
-                         </DataTemplate>
 
-                     </TabControl.ContentTemplate>
 
-                     
 
-                     <i:Interaction.Triggers>
 
-                         <i:EventTrigger EventName="SelectionChanged">
 
-                             <micro:ActionMessage MethodName="TabSelectionChanged">
 
-                             </micro:ActionMessage>
 
-                         </i:EventTrigger>
 
-                     </i:Interaction.Triggers>
 
-                     
 
-                 </TabControl>
 
-             </Border>
 
-         </Grid>
 
-         <GridSplitter Grid.Column="0" Width="10" HorizontalAlignment="Right" Margin="0,55,0,0"  Background="Transparent"  VerticalAlignment="Stretch" Style="{DynamicResource VerticalGridSplitterStyle}">
 
-         </GridSplitter>
 
-         <Grid Grid.Column="1" Margin="0,0,0,0" HorizontalAlignment="Stretch">
 
-             <Grid.RowDefinitions>
 
-                 <RowDefinition Height="Auto"/>
 
-                 <RowDefinition />
 
-             </Grid.RowDefinitions>
 
-             <Grid  IsEnabled="{Binding IsPermission}">
 
-                 <Grid.ColumnDefinitions>
 
-                     <ColumnDefinition Width="60"/>
 
-                     <ColumnDefinition Width="Auto"/>
 
-                     <ColumnDefinition Width="220"/>
 
-                     <ColumnDefinition Width="400"/>
 
-                 </Grid.ColumnDefinitions>
 
-                 <Grid.RowDefinitions>
 
-                     <RowDefinition Height="40"/>
 
-                 </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_Title}" Padding="1,1">
 
-                     <Border Grid.Column="1" BorderBrush="{DynamicResource Table_BD}"   BorderThickness="1,1,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,0">
 
-                         <TextBlock FontSize="18"   HorizontalAlignment="Left"  FontFamily="Arial"   Text="{Binding CurrentRecipe.Name}" TextWrapping="Wrap" VerticalAlignment="Center"  MinWidth="200" Width="Auto"/>
 
-                     </Border>
 
-                 </Border>
 
-                 <Border Grid.Column="2"   BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Title}" Padding="5,1">
 
-                     <StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
 
-                         <Button  Margin="10,0,0,0" HorizontalAlignment="Right" Width="90" Height="30" Content="Reload" IsEnabled="{Binding EnableReload}">
 
-                         <i:Interaction.Triggers>
 
-                             <i:EventTrigger EventName="Click">
 
-                                 <micro:ActionMessage MethodName="ReloadRecipe">
 
-                                 </micro:ActionMessage>
 
-                             </i:EventTrigger>
 
-                         </i:Interaction.Triggers>
 
-                         </Button>
 
-                         <Button  Margin="10,0,10,0"  Content="Save"  Width="90" Height="30" IsEnabled="{Binding EnableSave}">
 
-                             <i:Interaction.Triggers>
 
-                                 <i:EventTrigger EventName="Click">
 
-                                     <micro:ActionMessage MethodName="SaveRecipe">
 
-                                     </micro:ActionMessage>
 
-                                 </i:EventTrigger>
 
-                             </i:Interaction.Triggers>
 
-                         </Button>
 
-                     </StackPanel>
 
-                 </Border>
 
-                 <Border Grid.Column="3"   BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Title}" Padding="5,1">
 
-                     <StackPanel Orientation="Horizontal" Visibility="{Binding MultiChamberVisibility}">
 
-                         <TextBlock Text="Chamber"  Foreground="{DynamicResource FG_Black}" FontSize="16" FontFamily="Arial" VerticalAlignment="Center"/>
 
-                         <ComboBox Margin="10,0,0,0"  Width="80" Height="30" ItemsSource="{Binding Chambers}" SelectedItem="{Binding SelectedChamber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
 
-                             <i:Interaction.Triggers>
 
-                                 <i:EventTrigger EventName="SelectionChanged">
 
-                                     <micro:ActionMessage MethodName="ChamberSelectionChanged">
 
-                                     </micro:ActionMessage>
 
-                                 </i:EventTrigger>
 
-                             </i:Interaction.Triggers>
 
-                         </ComboBox>
 
-                         <Button  Margin="10,0,0,0" HorizontalAlignment="Right" Width="120" Height="30" Content="Save To All" IsEnabled="{Binding EnableSaveToAll}">
 
-                             <i:Interaction.Triggers>
 
-                                 <i:EventTrigger EventName="Click">
 
-                                     <micro:ActionMessage MethodName="SaveToAll">
 
-                                     </micro:ActionMessage>
 
-                                 </i:EventTrigger>
 
-                             </i:Interaction.Triggers>
 
-                         </Button>
 
-                         <Button  Margin="10,0,0,0"  Content="Save To..."  Width="120" Height="30" IsEnabled="{Binding EnableSaveTo}">
 
-                             <i:Interaction.Triggers>
 
-                                 <i:EventTrigger EventName="Click">
 
-                                     <micro:ActionMessage MethodName="SaveTo">
 
-                                     </micro:ActionMessage>
 
-                                 </i:EventTrigger>
 
-                             </i:Interaction.Triggers>
 
-                         </Button>
 
-                     </StackPanel>
 
-                 </Border>
 
-             </Grid>
 
-             <TabControl Grid.Row="1" Margin="0,5,0,0">
 
-                 <TabItem Header="Header">
 
-                     <Grid   HorizontalAlignment="Left" IsEnabled="{Binding IsPermission}">
 
-                         <Grid.ColumnDefinitions>
 
-                             <ColumnDefinition Width="150"/>
 
-                             <ColumnDefinition Width="280"/>
 
-                             <ColumnDefinition Width="200"/>
 
-                         </Grid.ColumnDefinitions>
 
-                         <Grid.RowDefinitions>
 
-                             <RowDefinition Height="40"/>
 
-                             <RowDefinition Height="40"/>
 
-                             <RowDefinition Height="40"/>
 
-                             <RowDefinition Height="40"/>
 
-                             <RowDefinition Height="40"/>
 
-                             <RowDefinition Height="40"/>
 
-                             <RowDefinition Height="40"/>
 
-                         </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 CurrentRecipe.Name}" TextWrapping="Wrap" VerticalAlignment="Stretch" MinWidth="100" Width="Auto"/>
 
-                         </Border>
 
-                         <Border Grid.Row="0"   Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,1,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
 
-                         </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 CurrentRecipe.Description, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" TextSaved="{Binding CurrentRecipe.IsSavedDesc, Mode=TwoWay}" TextWrapping="Wrap" VerticalAlignment="Stretch" 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_Content}" Padding="5,1">
 
-                         </Border>
 
-                         <Border Grid.Row="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Padding="5,1">
 
-                             <TextBlock Text="Chamber Type" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="16" FontFamily="Arial" VerticalAlignment="Center"/>
 
-                         </Border>
 
-                         <Border Grid.Row="2" Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
 
-                             <TextBlock   IsEnabled="False" Text="{Binding CurrentRecipe.RecipeChamberType}" TextWrapping="Wrap" VerticalAlignment="Stretch" MinWidth="100" Width="Auto"/>
 
-                         </Border>
 
-                         <Border Grid.Row="2"   Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
 
-                         </Border>
 
-                         <Border Grid.Row="3" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,1,1" Background="{DynamicResource Table_BG_Title}" Padding="5,1">
 
-                             <TextBlock Text="Format Version" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="16" FontFamily="Arial" VerticalAlignment="Center"/>
 
-                         </Border>
 
-                         <Border Grid.Row="3" Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
 
-                             <TextBlock  Text="{Binding CurrentRecipe.RecipeVersion}" TextWrapping="Wrap" VerticalAlignment="Stretch" MinWidth="100" Width="Auto"/>
 
-                         </Border>
 
-                         <Border Grid.Row="3"   Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
 
-                         </Border>
 
-                         <Border Grid.Row="4"  Grid.Column="0" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,0,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.Row="4"  Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
 
-                             <TextBlock Text="{Binding CurrentRecipe.Creator}"  TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Stretch" MinWidth="100" Width="Auto"/>
 
-                         </Border>
 
-                         <Border Grid.Row="4"   Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
 
-                             <TextBlock Text="{Binding CurrentRecipe.CreateTime}" HorizontalAlignment="Left" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" MinWidth="100" Width="Auto"/>
 
-                         </Border>
 
-                         <Border Grid.Row="5" Grid.Column="0" BorderBrush="{DynamicResource Table_BD}" BorderThickness="1,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="5" Grid.Column="1" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
 
-                             <TextBlock Text="{Binding CurrentRecipe.Revisor}" HorizontalAlignment="Left" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" Width="120"/>
 
-                         </Border>
 
-                         <Border Grid.Row="5" Grid.Column="2" BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Padding="5,1">
 
-                             <TextBlock Text="{Binding CurrentRecipe.ReviseTime}" HorizontalAlignment="Left" TextWrapping="Wrap" Foreground="{DynamicResource FG_Black}" FontSize="14" FontFamily="Arial" VerticalAlignment="Center" MinWidth="140"/>
 
-                         </Border>
 
-                     </Grid>
 
-                 </TabItem>
 
-                 <TabItem Header="Steps" IsSelected="True">
 
-                     <Grid Grid.Row="1" Margin="0,0,0,0" IsEnabled="{Binding IsPermission}">
 
-                         <Grid.RowDefinitions>
 
-                             <RowDefinition Height="40"/>
 
-                             <RowDefinition />
 
-                         </Grid.RowDefinitions>
 
-                         <StackPanel Orientation="Horizontal">
 
-                             <Button Content="Append" Margin="250,0,0,0"  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>
 
-                         </StackPanel>
 
-                         <ScrollViewer Grid.Row="1" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
 
-                             <dgExtension:XDataGrid x:Name="dgCustom"  AlternationCount="1"  
 
-                                              HeadersVisibility="Column" 
 
-                                              AutoGenerateColumns="False" GridLinesVisibility="None" 
 
-                                              Background="#00FFFFFF" CanUserAddRows="False" 
 
-                                              CanUserResizeColumns="False" Margin="0,0,15,15"
 
-                                              CanUserResizeRows="False"  UseHorizontalScrolling="True"
 
-                                  VirtualizingPanel.IsVirtualizing="True" CanUserDeleteRows="False"
 
-                                              Validation.ErrorTemplate="{x:Null}" FrozenColumnCount="3"
 
-                                              SelectionMode="Single"    VirtualizingPanel.VirtualizationMode="Recycling" 
 
-                                              VerticalScrollBarVisibility="Auto" VerticalAlignment="Top" HorizontalAlignment="Left" IsEnabled="{Binding IsPermission}">
 
-                                 <dgExtension:XDataGrid.LayoutTransform>
 
-                                     <TransformGroup>
 
-                                         <RotateTransform Angle="-90"/>
 
-                                         <ScaleTransform ScaleX="1" ScaleY="-1" />
 
-                                     </TransformGroup>
 
-                                 </dgExtension:XDataGrid.LayoutTransform>
 
-                             </dgExtension:XDataGrid>
 
-                         </ScrollViewer>
 
-                     </Grid>
 
-                 </TabItem>
 
-                 <TabItem Header="Tolerance" Visibility="{Binding ToleranceVisibility}" >
 
-                     <ScrollViewer Grid.Row="1" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
 
-                         <dgExtension:XDataGrid  x:Name="ToleranceGrid" AlternationCount="1"  
 
-                                                HeadersVisibility="Column" RowHeight="100"
 
-                                                AutoGenerateColumns="False" GridLinesVisibility="None" 
 
-                                                Background="#00FFFFFF" CanUserAddRows="False"  Margin="0,0,15,15"
 
-                                                CanUserResizeColumns="False" FrozenColumnCount="5"
 
-                                                CanUserResizeRows="False"  UseHorizontalScrolling="True"
 
-                                                VirtualizingPanel.IsVirtualizing="True" CanUserDeleteRows="False"
 
-                                                Validation.ErrorTemplate="{x:Null}"
 
-                                                SelectionMode="Single"    VirtualizingPanel.VirtualizationMode="Recycling" 
 
-                                                VerticalScrollBarVisibility="Auto" VerticalAlignment="Top" HorizontalAlignment="Left" IsEnabled="{Binding IsPermission}">
 
-                             <dgExtension:XDataGrid.LayoutTransform>
 
-                                 <TransformGroup>
 
-                                     <RotateTransform Angle="-90"/>
 
-                                     <ScaleTransform ScaleX="1" ScaleY="-1" />
 
-                                 </TransformGroup>
 
-                             </dgExtension:XDataGrid.LayoutTransform>
 
-                         </dgExtension:XDataGrid>
 
-                     </ScrollViewer>
 
-                 </TabItem>
 
-                 <TabItem Header="Config"  >
 
-                     <DataGrid Grid.Row="1" AlternationCount="2" HorizontalAlignment="Left" 
 
-                       RowHeight="35"
 
-                       CanUserAddRows="False" AutoGenerateColumns="False" RowHeaderWidth="0"
 
-                   VirtualizingPanel.IsVirtualizing="True" VirtualizingPanel.VirtualizationMode="Recycling"
 
-                   ItemsSource="{Binding CurrentRecipe.ConfigItems}" Margin="0,5,0,0" IsEnabled="{Binding IsPermission}">
 
-                         <DataGrid.Columns>
 
-                             <DataGridTemplateColumn Header="Config Item" MinWidth="300">
 
-                                 <DataGridTemplateColumn.CellTemplate>
 
-                                     <DataTemplate>
 
-                                         <TextBlock Text="{Binding DisplayName}" Margin="5,0" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Left" VerticalAlignment="Center" >
 
-                                         </TextBlock>
 
-                                     </DataTemplate>
 
-                                 </DataGridTemplateColumn.CellTemplate>
 
-                             </DataGridTemplateColumn>
 
-  
 
-                             <DataGridTemplateColumn Header="Value" MinWidth="180">
 
-                                 <DataGridTemplateColumn.CellTemplate>
 
-                                     <DataTemplate>
 
-                                         <controls:TextBoxEx Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
 
-                                                             TextSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="5,0" 
 
-                                                             FontFamily="Arial" FontSize="14" 
 
-                                                             Foreground="{DynamicResource FG_Black}" 
 
-                                                             HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
 
-                                     </DataTemplate>
 
-                                 </DataGridTemplateColumn.CellTemplate>
 
-                             </DataGridTemplateColumn>
 
-  
 
-                         </DataGrid.Columns>
 
-                     </DataGrid>
 
-                 </TabItem>
 
-             </TabControl>
 
-         </Grid>
 
-     </Grid>
 
- </UserControl>
 
 
  |