1710 lines
94 KiB
XML
1710 lines
94 KiB
XML
<UserControl
|
|
x:Class="SicUI.Models.RecipeEditors.RecipeEditorView"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:controls="clr-namespace:OpenSEMI.Ctrlib.Controls;assembly=MECF.Framework.UI.Client"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:dgExtension="clr-namespace:RecipeEditorLib.DGExtension;assembly=MECF.Framework.UI.Client"
|
|
xmlns:editors="clr-namespace:MECF.Framework.UI.Client.CenterViews.Editors;assembly=MECF.Framework.UI.Client"
|
|
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:egc="clr-namespace:ExtendedGrid.Microsoft.Windows.Controls;assembly=MECF.Framework.UI.Client"
|
|
xmlns:micro="clr-namespace:Caliburn.Micro;assembly=MECF.Framework.UI.Client"
|
|
xmlns:recipeEditors="clr-namespace:SicUI.Models.RecipeEditors"
|
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
|
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
|
|
d:DesignHeight="900"
|
|
d:DesignWidth="1500"
|
|
mc:Ignorable="d">
|
|
<UserControl.Resources>
|
|
|
|
<Geometry x:Key="IconShow">
|
|
M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7
|
|
,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39
|
|
7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z
|
|
</Geometry>
|
|
|
|
<Geometry x:Key="IconHide">
|
|
M320 400c-75.85 0-137.25-58.71-142.9-133.11L72.2 185.82c-13.79 17.3-26.48 35.59-36.72 55.59a32.35
|
|
32.35 0 0 0 0 29.19C89.71 376.41 197.07 448 320 448c26.91 0 52.87-4 77.89-10.46L346 397.39a144.13
|
|
144.13 0 0 1-26 2.61zm313.82 58.1l-110.55-85.44a331.25 331.25 0 0 0 81.25-102.07 32.35 32.35 0 0 0
|
|
0-29.19C550.29 135.59 442.93 64 320 64a308.15 308.15 0 0 0-147.32 37.7L45.46 3.37A16 16 0 0 0 23
|
|
6.18L3.37 31.45A16 16 0 0 0 6.18 53.9l588.36 454.73a16 16 0 0 0 22.46-2.81l19.64-25.27a16 16 0 0
|
|
0-2.82-22.45zm-183.72-142l-39.3-30.38A94.75 94.75 0 0 0 416 256a94.76 94.76 0 0 0-121.31-92.21A47.65
|
|
47.65 0 0 1 304 192a46.64 46.64 0 0 1-1.54 10l-73.61-56.89A142.31 142.31 0 0 1 320 112a143.92 143.92
|
|
0 0 1 144 144c0 21.63-5.29 41.79-13.9 60.11z
|
|
</Geometry>
|
|
|
|
<recipeEditors:ParamToCellTooltipConverter x:Key="CellTooltipConverter"/>
|
|
<recipeEditors:IsSavedToNameMarkVisibilityConverter x:Key="IsSavedToNameMarkVisibilityConverter"/>
|
|
<recipeEditors:IsHighlightedToBorderThickness x:Key="IsHighlightedToBorderThickness"/>
|
|
<recipeEditors:IsHighlightedToBorderBrush x:Key="IsHighlightedToBorderBrush"/>
|
|
<recipeEditors:RecipeErrorsCountToBadgeConverter x:Key="RecipeErrorsCountToBadge"/>
|
|
|
|
<recipeEditors:ParamValueDisplayConverter x:Key="ParamValueDisplayConverter"/>
|
|
|
|
<SolidColorBrush x:Key="ValueChangedCellBackground" Color="#c0f18d"/>
|
|
|
|
<Style x:Key="DoubleUpDownStyle1" TargetType="{x:Type xctk:DoubleUpDown}">
|
|
<Setter Property="BorderThickness" Value="0"/>
|
|
<Setter Property="TextAlignment" Value="Center"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type xctk:DoubleUpDown}">
|
|
<xctk:WatermarkTextBox
|
|
x:Name="PART_TextBox"
|
|
Style="{StaticResource GenericTextBoxStyle}"
|
|
AcceptsReturn="false"
|
|
Background="{TemplateBinding Background}"
|
|
BorderThickness="0"
|
|
ContextMenu="{TemplateBinding ContextMenu}"
|
|
FontStretch="{TemplateBinding FontStretch}"
|
|
Foreground="{TemplateBinding Foreground}"
|
|
FontStyle="{TemplateBinding FontStyle}"
|
|
FontFamily="{TemplateBinding FontFamily}"
|
|
FontWeight="{TemplateBinding FontWeight}"
|
|
FontSize="{TemplateBinding FontSize}"
|
|
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
|
|
IsReadOnly="{Binding IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}"
|
|
MinWidth="20"
|
|
Padding="{TemplateBinding Padding}"
|
|
SelectAllOnGotFocus="{Binding SelectAllOnGotFocus, RelativeSource={RelativeSource TemplatedParent}}"
|
|
TextAlignment="{Binding TextAlignment, RelativeSource={RelativeSource TemplatedParent}}"
|
|
TabIndex="{TemplateBinding TabIndex}"
|
|
TextWrapping="NoWrap"
|
|
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
|
|
Watermark="{Binding Watermark, RelativeSource={RelativeSource TemplatedParent}}"
|
|
WatermarkTemplate="{Binding WatermarkTemplate, RelativeSource={RelativeSource TemplatedParent}}"/>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!--#region Cell Templates -->
|
|
|
|
<DataTemplate x:Key="TemplateCellDisplay">
|
|
<Border
|
|
BorderThickness="{Binding IsHighlighted, Mode=OneWay, Converter={StaticResource IsHighlightedToBorderThickness}}"
|
|
BorderBrush="{Binding IsHighlighted, Mode=OneWay, Converter={StaticResource IsHighlightedToBorderBrush}}"
|
|
ToolTip="{Binding Converter={StaticResource CellTooltipConverter}}">
|
|
<Border.LayoutTransform>
|
|
<TransformGroup>
|
|
<RotateTransform Angle="-90" />
|
|
<ScaleTransform ScaleX="1" ScaleY="-1" />
|
|
</TransformGroup>
|
|
</Border.LayoutTransform>
|
|
<Border.Style>
|
|
<Style TargetType="Border">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsSaved}" Value="False">
|
|
<Setter Property="Background" Value="{StaticResource ValueChangedCellBackground}"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Border.Style>
|
|
<TextBlock
|
|
Padding="5,3"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
TextTrimming="CharacterEllipsis">
|
|
|
|
<TextBlock.Text>
|
|
<MultiBinding Converter="{StaticResource ParamValueDisplayConverter}">
|
|
<Binding Path="Value"/>
|
|
<Binding Path="IsHideValue"/>
|
|
</MultiBinding>
|
|
</TextBlock.Text>
|
|
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Style.Triggers>
|
|
<MultiDataTrigger >
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsEqualsToPrevious}" Value="False"/>
|
|
<Condition Binding="{Binding IsValidated}" Value="False"/>
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter Property="Foreground" Value="Red" />
|
|
</MultiDataTrigger>
|
|
<MultiDataTrigger >
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsEqualsToPrevious}" Value="True"/>
|
|
<Condition Binding="{Binding IsValidated}" Value="False"/>
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter Property="Foreground" Value="Red" />
|
|
</MultiDataTrigger>
|
|
<MultiDataTrigger >
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsEqualsToPrevious}" Value="False"/>
|
|
<Condition Binding="{Binding IsValidated}" Value="True"/>
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter Property="Foreground" Value="Green" />
|
|
</MultiDataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
</Border>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="TemplateStep">
|
|
<Grid>
|
|
<Grid.LayoutTransform>
|
|
<TransformGroup>
|
|
<RotateTransform Angle="-90" />
|
|
<ScaleTransform ScaleX="1" ScaleY="-1" />
|
|
</TransformGroup>
|
|
</Grid.LayoutTransform>
|
|
<Border
|
|
Padding="5,1"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0">
|
|
<StackPanel
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
Orientation="Horizontal">
|
|
<CheckBox
|
|
Margin="4"
|
|
IsHitTestVisible="False"
|
|
IsChecked="{Binding IsChecked}"
|
|
Visibility="{Binding StepCheckVisibility}" />
|
|
<TextBlock
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
FontSize="14"
|
|
Foreground="Black"
|
|
Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
|
Visibility="{Binding Visible}" />
|
|
</StackPanel>
|
|
<Border.Style>
|
|
<Style TargetType="Border">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsVisible}" Value="false">
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding IsSaved}" Value="False">
|
|
<Setter Property="Background" Value="{StaticResource ValueChangedCellBackground}"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Border.Style>
|
|
</Border>
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<!-- Column Header Template -->
|
|
<DataTemplate x:Key="ParamTemplate">
|
|
<Grid Width="320" Margin="0,5">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="280" />
|
|
<ColumnDefinition Width="40" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.LayoutTransform>
|
|
<TransformGroup>
|
|
<RotateTransform Angle="-90" />
|
|
<ScaleTransform ScaleX="1" ScaleY="-1" />
|
|
</TransformGroup>
|
|
</Grid.LayoutTransform>
|
|
<TextBlock
|
|
Grid.Column="0"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Center"
|
|
FontFamily="Arial"
|
|
FontSize="16"
|
|
Text="{Binding DisplayName}" />
|
|
<TextBlock
|
|
Grid.Column="1"
|
|
Margin="0,0,0,0"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Center"
|
|
FontFamily="Arial"
|
|
FontSize="16"
|
|
Text="{Binding UnitName}" />
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="TemplateText">
|
|
<Grid>
|
|
<Grid.LayoutTransform>
|
|
<TransformGroup>
|
|
<RotateTransform Angle="-90" />
|
|
<ScaleTransform ScaleX="1" ScaleY="-1" />
|
|
</TransformGroup>
|
|
</Grid.LayoutTransform>
|
|
<Border
|
|
Padding="1,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderThickness="0,0,1,1">
|
|
<controls:TextBoxEx
|
|
Padding="5,3"
|
|
AllowBackgroundChange="True"
|
|
IsEnabled="{Binding IsEnabled}"
|
|
Text="{Binding Value, Mode=TwoWay}"
|
|
TextSaved="{Binding IsSaved, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
|
|
<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>
|
|
<DataTrigger Binding="{Binding IsVisible}" Value="false">
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Border.Style>
|
|
</Border>
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="TemplateSets3Ratio">
|
|
<Border>
|
|
<Border.LayoutTransform>
|
|
<TransformGroup>
|
|
<RotateTransform Angle="-90" />
|
|
<ScaleTransform ScaleX="1" ScaleY="-1" />
|
|
</TransformGroup>
|
|
</Border.LayoutTransform>
|
|
<TextBox
|
|
HorizontalContentAlignment="Center"
|
|
VerticalContentAlignment="Center"
|
|
IsEnabled="{Binding IsEnabled}"
|
|
Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
|
|
<TextBox.Style>
|
|
<Style TargetType="TextBox" BasedOn="{StaticResource GenericTextBoxStyle}">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsValidated}" Value="False">
|
|
<Setter Property="Foreground" Value="#9c0006"/>
|
|
<Setter Property="Background" Value="#ffc7ce"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBox.Style>
|
|
</TextBox>
|
|
</Border>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="TemplateNumber">
|
|
<Border>
|
|
<Border.LayoutTransform>
|
|
<TransformGroup>
|
|
<RotateTransform Angle="-90" />
|
|
<ScaleTransform ScaleX="1" ScaleY="-1" />
|
|
</TransformGroup>
|
|
</Border.LayoutTransform>
|
|
<xctk:DoubleUpDown
|
|
Value="{Binding Value,
|
|
Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, FallbackValue=0}"
|
|
SelectAllOnGotFocus="True"
|
|
ShowButtonSpinner="False">
|
|
<xctk:DoubleUpDown.Style>
|
|
<Style TargetType="xctk:DoubleUpDown" BasedOn="{StaticResource DoubleUpDownStyle1}">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsValidated}" Value="False">
|
|
<Setter Property="Foreground" Value="#9c0006"/>
|
|
<Setter Property="Background" Value="#ffc7ce"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</xctk:DoubleUpDown.Style>
|
|
</xctk:DoubleUpDown>
|
|
</Border>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="TemplateNumberText">
|
|
<Grid>
|
|
<Grid.LayoutTransform>
|
|
<TransformGroup>
|
|
<RotateTransform Angle="-90" />
|
|
<ScaleTransform ScaleX="1" ScaleY="-1" />
|
|
</TransformGroup>
|
|
</Grid.LayoutTransform>
|
|
<Border
|
|
Padding="1,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderThickness="0,0,1,1">
|
|
<controls:TextBoxEx
|
|
Padding="5,3"
|
|
AllowBackgroundChange="True"
|
|
IsEnabled="{Binding IsEnabled}"
|
|
MaxValue="{Binding Maximun}"
|
|
MinValue="{Binding Minimun}"
|
|
Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
|
|
<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
|
|
Padding="1,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderThickness="0,0,1,1">
|
|
<controls:ComboTextBlock
|
|
Padding="5,3"
|
|
AllowBackgroundChange="True"
|
|
IsEditable="{Binding IsEditable}"
|
|
IsEnabled="{Binding IsEnabled}"
|
|
IsLoopItem="{Binding IsLoopItem}"
|
|
ItemsSource="{Binding Options}"
|
|
Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
|
|
<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>
|
|
<DataTrigger Binding="{Binding IsVisible}" Value="false">
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Border.Style>
|
|
|
|
</Border>
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="TemplateComboxEx">
|
|
<Border>
|
|
<Border.LayoutTransform>
|
|
<TransformGroup>
|
|
<RotateTransform Angle="-90" />
|
|
<ScaleTransform ScaleX="1" ScaleY="-1" />
|
|
</TransformGroup>
|
|
</Border.LayoutTransform>
|
|
<ComboBox
|
|
HorizontalContentAlignment="Center"
|
|
VerticalContentAlignment="Center"
|
|
DisplayMemberPath="DisplayName"
|
|
IsEditable="{Binding IsEditable}"
|
|
ItemsSource="{Binding Options}"
|
|
Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged, Delay=10}"/>
|
|
</Border>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="TemplatePopSetting">
|
|
<Grid>
|
|
<Grid.LayoutTransform>
|
|
<TransformGroup>
|
|
<RotateTransform Angle="-90" />
|
|
<ScaleTransform ScaleX="1" ScaleY="-1" />
|
|
</TransformGroup>
|
|
</Grid.LayoutTransform>
|
|
<Border
|
|
Padding="15,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderThickness="0,0,1,1">
|
|
<Button
|
|
Content="{Binding DisplayName}"
|
|
Foreground="Black"
|
|
IsEnabled="{Binding IsEnabled}">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="PopSetting">
|
|
<micro:Parameter Value="{Binding Name}" />
|
|
<micro:Parameter Value="{Binding}" />
|
|
</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
|
|
Width="340"
|
|
Margin="-5,-8,-6,-8"
|
|
Background="LightGray">
|
|
<Expander
|
|
Margin="5"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
HorizontalContentAlignment="Left"
|
|
VerticalContentAlignment="Stretch"
|
|
FontSize="14"
|
|
Header="{Binding DisplayName}"
|
|
IsExpanded="{Binding IsExpanded}">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Expanded">
|
|
<micro:ActionMessage MethodName="ExpandColumnsGroup">
|
|
<micro:Parameter Value="{Binding}" />
|
|
</micro:ActionMessage>
|
|
</i:EventTrigger>
|
|
<i:EventTrigger EventName="Collapsed">
|
|
<micro:ActionMessage MethodName="CollapseColumnsGroup">
|
|
<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
|
|
Width="Auto"
|
|
MinWidth="90"
|
|
Margin="0,-5"
|
|
Background="LightGray">
|
|
<Border.LayoutTransform>
|
|
<TransformGroup>
|
|
<RotateTransform Angle="-90" />
|
|
<ScaleTransform ScaleX="1" ScaleY="-1" />
|
|
</TransformGroup>
|
|
</Border.LayoutTransform>
|
|
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Center" />
|
|
<Border.Style>
|
|
<Style TargetType="Border">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsVisible}" Value="false">
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Border.Style>
|
|
</Border>
|
|
</DataTemplate>
|
|
|
|
<!--#endregion -->
|
|
|
|
<HierarchicalDataTemplate x:Key="FolderTemplate" ItemsSource="{Binding Files}">
|
|
<StackPanel Orientation="Horizontal" Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Path=DataContext}">
|
|
<Image
|
|
x:Name="ExpandImage"
|
|
Width="14"
|
|
Height="12"
|
|
Margin="2,0,0,0"
|
|
VerticalAlignment="Center"
|
|
Source="/MECF.Framework.UI.Client;component/Resources/Images/Folder_Close.png" />
|
|
<TextBlock
|
|
Margin="5,0,0,0"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Center"
|
|
Text="{Binding Name}" />
|
|
<StackPanel.ContextMenu>
|
|
<ContextMenu DataContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}">
|
|
<Label
|
|
Margin="0"
|
|
Content="{Binding CurrentFileNode.FullPath}"
|
|
FontWeight="Black" />
|
|
<Separator />
|
|
<MenuItem
|
|
Command="{Binding NewRecipeCommand}"
|
|
Header="New Recipe"
|
|
IsEnabled="{Binding IsPermission}" />
|
|
<MenuItem
|
|
Command="{Binding DeleteRecipeCommand}"
|
|
Header="Delete Recipe"
|
|
IsEnabled="False" />
|
|
<MenuItem
|
|
Command="{Binding RenameRecipeCommand}"
|
|
Header="Rename Recipe"
|
|
IsEnabled="False" />
|
|
<MenuItem
|
|
Command="{Binding SaveAsRecipeCommand}"
|
|
Header="Save As Recipe"
|
|
IsEnabled="False" />
|
|
<Separator />
|
|
<MenuItem Command="{Binding NewFolderCommand}" Header="New Folder" />
|
|
<MenuItem Command="{Binding DeleteFolderCommand}" Header="Delete Folder" />
|
|
<MenuItem Command="{Binding RenameFolderCommand}" Header="Rename Folder" />
|
|
</ContextMenu>
|
|
</StackPanel.ContextMenu>
|
|
</StackPanel>
|
|
<HierarchicalDataTemplate.Triggers>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter TargetName="ExpandImage" Property="Image.Source" 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
|
|
Width="13"
|
|
Height="16"
|
|
HorizontalAlignment="Left"
|
|
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"
|
|
Stretch="Fill"
|
|
Stroke="#FF454545" />
|
|
<TextBlock
|
|
Margin="5,0,0,0"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Center"
|
|
Text="{Binding Name}" />
|
|
<StackPanel.ContextMenu>
|
|
<ContextMenu DataContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}">
|
|
<Label
|
|
Margin="0"
|
|
Content="{Binding CurrentFileNode.FullPath}"
|
|
FontWeight="Black" />
|
|
<Separator />
|
|
<MenuItem
|
|
Command="{Binding NewRecipeCommand}"
|
|
Header="New Recipe"
|
|
IsEnabled="{Binding IsPermission}" />
|
|
<MenuItem
|
|
Command="{Binding DeleteRecipeCommand}"
|
|
Header="Delete Recipe"
|
|
IsEnabled="{Binding IsPermission}" />
|
|
<MenuItem
|
|
Command="{Binding RenameRecipeCommand}"
|
|
Header="Rename Recipe"
|
|
IsEnabled="{Binding IsPermission}" />
|
|
<MenuItem
|
|
Command="{Binding SaveAsRecipeCommand}"
|
|
Header="Save As Recipe"
|
|
IsEnabled="{Binding IsPermission}" />
|
|
<Separator />
|
|
<MenuItem Command="{Binding NewFolderCommand}" Header="New Folder" />
|
|
<MenuItem
|
|
Command="{Binding DeleteFolderCommand}"
|
|
Header="Delete Folder"
|
|
IsEnabled="False" />
|
|
<MenuItem
|
|
Command="{Binding RenameFolderCommand}"
|
|
Header="Rename Folder"
|
|
IsEnabled="False" />
|
|
</ContextMenu>
|
|
</StackPanel.ContextMenu>
|
|
</StackPanel>
|
|
</HierarchicalDataTemplate>
|
|
|
|
<editors:FolderOrFileTemplateSelector
|
|
x:Key="FolderFileTemplateSelector"
|
|
FileTemplate="{StaticResource FileTemplate}"
|
|
FolderTemplate="{StaticResource FolderTemplate}" />
|
|
|
|
</UserControl.Resources>
|
|
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="270" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="40" />
|
|
<RowDefinition Height="40" />
|
|
<RowDefinition />
|
|
</Grid.RowDefinitions>
|
|
<StackPanel
|
|
IsEnabled ="{Binding IsLoading, Converter={StaticResource reversBoolValueConverter}}"
|
|
Margin="0,5,5,0">
|
|
<StackPanel IsEnabled="{Binding IsPermission}" Orientation="Horizontal">
|
|
<Button
|
|
Width="62"
|
|
Height="25"
|
|
Margin="0,0,0,0"
|
|
Content="New"
|
|
FontSize="10"
|
|
IsEnabled="True">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="NewRecipe" />
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
<Button
|
|
Width="62"
|
|
Height="25"
|
|
Margin="4,0,0,0"
|
|
Content="Rename"
|
|
FontSize="10"
|
|
IsEnabled="{Binding EnableReName}">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="RenameRecipe" />
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
<Button
|
|
Width="62"
|
|
Height="25"
|
|
Margin="4,0,0,0"
|
|
Content="Delete"
|
|
FontSize="10"
|
|
IsEnabled="{Binding EnableDelete}">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="DeleteRecipe" />
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
<Button
|
|
Width="62"
|
|
Height="25"
|
|
Margin="4,0,0,0"
|
|
Content="Refresh"
|
|
FontSize="10"
|
|
IsEnabled="{Binding EnableReload}">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="RefreshRecipe" />
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
<StackPanel
|
|
IsEnabled ="{Binding IsLoading, Converter={StaticResource reversBoolValueConverter}}"
|
|
Grid.Row="1" Orientation="Horizontal">
|
|
<Label
|
|
Margin="5,0,0,0"
|
|
VerticalAlignment="Center"
|
|
Content="Filter"
|
|
FontSize="16" />
|
|
<TextBox
|
|
Width="156"
|
|
Height="26"
|
|
Margin="0,0,5,0"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Center"
|
|
Text="{Binding Path=CurrentCriteria, UpdateSourceTrigger=PropertyChanged}" />
|
|
<Button
|
|
Width="30"
|
|
Height="30"
|
|
Margin="0,0,5,0"
|
|
Padding="0"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Center">
|
|
<Button.Content>
|
|
<Path
|
|
Width="15"
|
|
Height="15"
|
|
Margin="0,3"
|
|
Data="M5.5,0 L8.5,0 8.5,5.5 14,5.5 14,8.5 8.5,8.5 8.5,14 5.5,14 5.5,8.5 0,8.5 0,5.5 5.5,5.5 z"
|
|
Fill="Black"
|
|
RenderTransformOrigin="0.5,0.5"
|
|
Stretch="Fill"
|
|
StrokeThickness="3">
|
|
<Path.RenderTransform>
|
|
<TransformGroup>
|
|
<ScaleTransform />
|
|
<SkewTransform />
|
|
<RotateTransform Angle="45" />
|
|
<TranslateTransform />
|
|
</TransformGroup>
|
|
</Path.RenderTransform>
|
|
</Path>
|
|
</Button.Content>
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="ClearFilter" />
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
</StackPanel>
|
|
<Border
|
|
Grid.Row="2"
|
|
IsEnabled ="{Binding IsLoading, Converter={StaticResource reversBoolValueConverter}}"
|
|
Margin="0,0,13,0"
|
|
Background="Transparent"
|
|
BorderBrush="{DynamicResource Tab_BD}"
|
|
BorderThickness="0">
|
|
<TabControl
|
|
Padding="0"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
HorizontalContentAlignment="Stretch"
|
|
VerticalContentAlignment="Stretch"
|
|
ItemsSource="{Binding ProcessTypeFileList, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
|
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"
|
|
Height="{Binding Path=ActualHeight, ElementName=PART_BORDER, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
|
|
ItemTemplateSelector="{StaticResource FolderFileTemplateSelector}"
|
|
ItemsSource="{Binding FilterFileListByProcessType, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
|
Tag="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}, Path=DataContext}"
|
|
VirtualizingPanel.IsVirtualizing="True"
|
|
VirtualizingPanel.VirtualizationMode="Recycling">
|
|
<TreeView.ItemContainerStyle>
|
|
<Style BasedOn="{StaticResource TreeViewItemExtend}" TargetType="{x:Type TreeViewItem}">
|
|
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
|
|
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
|
|
</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
|
|
Command="{Binding NewRecipeRootCommand}"
|
|
Header="New Recipe"
|
|
IsEnabled="{Binding IsPermission}" />
|
|
<MenuItem
|
|
Command="{Binding DeleteRecipeCommand}"
|
|
Header="Delete Recipe"
|
|
IsEnabled="False" />
|
|
<MenuItem
|
|
Command="{Binding RenameRecipeCommand}"
|
|
Header="Rename Recipe"
|
|
IsEnabled="False" />
|
|
<MenuItem
|
|
Command="{Binding SaveAsRecipeCommand}"
|
|
Header="Save As Recipe"
|
|
IsEnabled="False" />
|
|
<Separator />
|
|
<MenuItem
|
|
Command="{Binding NewFolderRootCommand}"
|
|
Header="New Folder"
|
|
IsEnabled="{Binding IsPermission}" />
|
|
<MenuItem
|
|
Command="{Binding DeleteFolderCommand}"
|
|
Header="Delete Folder"
|
|
IsEnabled="False" />
|
|
<MenuItem
|
|
Command="{Binding RenameFolderCommand}"
|
|
Header="Rename Folder"
|
|
IsEnabled="False" />
|
|
</ContextMenu>
|
|
</TreeView.ContextMenu>
|
|
</TreeView>
|
|
</DataTemplate>
|
|
</TabControl.ContentTemplate>
|
|
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="SelectionChanged">
|
|
<micro:ActionMessage MethodName="TabSelectionChanged" />
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
|
|
</TabControl>
|
|
</Border>
|
|
</Grid>
|
|
<GridSplitter
|
|
Grid.Column="0"
|
|
Width="10"
|
|
Margin="0,55,0,0"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Stretch"
|
|
Background="Transparent"
|
|
Style="{DynamicResource VerticalGridSplitterStyle}" />
|
|
<Grid
|
|
Grid.Column="1"
|
|
Margin="0,0,0,0"
|
|
HorizontalAlignment="Stretch">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition />
|
|
</Grid.RowDefinitions>
|
|
|
|
<Border
|
|
IsEnabled ="{Binding IsLoading, Converter={StaticResource reversBoolValueConverter}}">
|
|
|
|
<Grid IsEnabled="{Binding IsPermission}">
|
|
<Grid.ColumnDefinitions>
|
|
|
|
<ColumnDefinition Width="60" />
|
|
<ColumnDefinition Width="220" />
|
|
<ColumnDefinition Width="220" />
|
|
<ColumnDefinition Width="430" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="200" />
|
|
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="40" />
|
|
</Grid.RowDefinitions>
|
|
<Border
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Title}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="1">
|
|
<TextBlock
|
|
VerticalAlignment="Center"
|
|
FontFamily="Arial"
|
|
FontSize="16"
|
|
Foreground="{DynamicResource FG_Black}"
|
|
Text="Name"
|
|
TextWrapping="Wrap" />
|
|
</Border>
|
|
<Border
|
|
Grid.Column="1"
|
|
Padding="1,1"
|
|
Background="{DynamicResource Table_BG_Title}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,1,1,1">
|
|
<Border
|
|
Padding="5,0"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="1,1,1,1">
|
|
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
|
|
<TextBlock
|
|
Text="*" Margin="0,0,5,0"
|
|
Visibility="{Binding CurrentRecipe.IsChanged,
|
|
Converter={StaticResource IsSavedToNameMarkVisibilityConverter}}" />
|
|
<TextBlock
|
|
Width="Auto"
|
|
MinWidth="200"
|
|
HorizontalAlignment="Left"
|
|
FontFamily="Arial"
|
|
FontSize="18"
|
|
Text="{Binding CurrentRecipe.Name}"
|
|
TextWrapping="NoWrap"
|
|
TextTrimming="CharacterEllipsis"/>
|
|
</StackPanel>
|
|
</Border>
|
|
</Border>
|
|
<Border
|
|
Grid.Column="2"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Title}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,1,1,1">
|
|
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
|
|
<Button
|
|
Width="90"
|
|
Height="30"
|
|
Margin="10,0,0,0"
|
|
HorizontalAlignment="Right"
|
|
Content="Reload">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="ReloadRecipe" />
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
<Button
|
|
Width="90"
|
|
Height="30"
|
|
Margin="10,0,10,0"
|
|
Content="Save"
|
|
IsEnabled="{Binding EnableSave}">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="SaveRecipe" />
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
<Border
|
|
Grid.Column="3"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Title}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,1,1,1">
|
|
<StackPanel Orientation="Horizontal" Visibility="{Binding MultiChamberVisibility}">
|
|
<TextBlock
|
|
VerticalAlignment="Center"
|
|
FontFamily="Arial"
|
|
FontSize="16"
|
|
Foreground="{DynamicResource FG_Black}"
|
|
Text="Chamber" />
|
|
|
|
<ComboBox
|
|
Width="80"
|
|
Height="30"
|
|
Margin="10,0,0,0"
|
|
ItemsSource="{Binding Chambers}"
|
|
SelectedItem="{Binding SelectedChamber, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="SelectionChanged">
|
|
<micro:ActionMessage MethodName="ChamberSelectionChanged" />
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</ComboBox>
|
|
<Button
|
|
Width="120"
|
|
Height="30"
|
|
Margin="10,0,0,0"
|
|
HorizontalAlignment="Right"
|
|
Content="Save To All"
|
|
IsEnabled="{Binding EnableSaveToAll}">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="SaveToAll" />
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
<Button
|
|
Width="120"
|
|
Height="30"
|
|
Margin="10,0,0,0"
|
|
Content="Save To..."
|
|
IsEnabled="{Binding EnableSaveTo}">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="SaveTo" />
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
|
|
</StackPanel>
|
|
</Border>
|
|
<Border
|
|
Grid.Column="5"
|
|
Padding="1,1"
|
|
Background="{DynamicResource Table_BG_Title}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,1,1,1">
|
|
<StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
|
|
<Button
|
|
Width="90"
|
|
Height="30"
|
|
Margin="5,0,0,0"
|
|
HorizontalAlignment="Right"
|
|
Content="Chg Pass">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="ChangePassword" />
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
<Button
|
|
Name="btnLogin"
|
|
Width="90"
|
|
Height="30"
|
|
Margin="5,0,5,0"
|
|
Content="{Binding LoginText}">
|
|
<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="EditLogin" />
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>
|
|
</Button>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
|
|
</Grid>
|
|
</Border>
|
|
<TabControl
|
|
Grid.Row="1"
|
|
Margin="0,5,0,0"
|
|
IsEnabled="{Binding EditorEnable}"
|
|
Visibility="{Binding EditorEnableV}">
|
|
<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
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Title}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="1">
|
|
<TextBlock
|
|
VerticalAlignment="Center"
|
|
FontFamily="Arial"
|
|
FontSize="16"
|
|
Foreground="{DynamicResource FG_Black}"
|
|
Text="Name"
|
|
TextWrapping="Wrap" />
|
|
</Border>
|
|
<Border
|
|
Grid.Column="1"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,1,1,1">
|
|
<controls:TextBoxEx
|
|
Width="Auto"
|
|
MinWidth="100"
|
|
VerticalAlignment="Stretch"
|
|
AllowBackgroundChange="False"
|
|
IsEnabled="False"
|
|
Text="{Binding CurrentRecipe.Name}"
|
|
TextWrapping="Wrap" />
|
|
</Border>
|
|
<Border
|
|
Grid.Row="0"
|
|
Grid.Column="2"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,1,1,1" />
|
|
|
|
<Border
|
|
Grid.Row="1"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Title}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="1,0,1,1">
|
|
<TextBlock
|
|
VerticalAlignment="Center"
|
|
FontFamily="Arial"
|
|
FontSize="16"
|
|
Foreground="{DynamicResource FG_Black}"
|
|
Text="Description"
|
|
TextWrapping="Wrap" />
|
|
</Border>
|
|
<Border
|
|
Grid.Row="1"
|
|
Grid.Column="1"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,0,1,1">
|
|
<controls:TextBoxEx
|
|
Width="Auto"
|
|
MinWidth="100"
|
|
VerticalAlignment="Stretch"
|
|
Text="{Binding CurrentRecipe.Description, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
|
TextSaved="{Binding CurrentRecipe.IsSavedDesc, Mode=TwoWay}"
|
|
TextWrapping="Wrap" />
|
|
</Border>
|
|
<Border
|
|
Grid.Row="1"
|
|
Grid.Column="2"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,0,1,1" />
|
|
|
|
<Border
|
|
Grid.Row="2"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Title}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="1,0,1,1">
|
|
<TextBlock
|
|
VerticalAlignment="Center"
|
|
FontFamily="Arial"
|
|
FontSize="16"
|
|
Foreground="{DynamicResource FG_Black}"
|
|
Text="Chamber Type"
|
|
TextWrapping="Wrap" />
|
|
</Border>
|
|
<Border
|
|
Grid.Row="2"
|
|
Grid.Column="1"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,0,1,1">
|
|
<TextBlock
|
|
Width="Auto"
|
|
MinWidth="100"
|
|
VerticalAlignment="Stretch"
|
|
IsEnabled="False"
|
|
Text="{Binding CurrentRecipe.RecipeChamberType}"
|
|
TextWrapping="Wrap" />
|
|
</Border>
|
|
<Border
|
|
Grid.Row="2"
|
|
Grid.Column="2"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,0,1,1" />
|
|
|
|
|
|
<Border
|
|
Grid.Row="3"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Title}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="1,0,1,1">
|
|
<TextBlock
|
|
VerticalAlignment="Center"
|
|
FontFamily="Arial"
|
|
FontSize="16"
|
|
Foreground="{DynamicResource FG_Black}"
|
|
Text="Format Version"
|
|
TextWrapping="Wrap" />
|
|
</Border>
|
|
<Border
|
|
Grid.Row="3"
|
|
Grid.Column="1"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,0,1,1">
|
|
<TextBlock
|
|
Width="Auto"
|
|
MinWidth="100"
|
|
VerticalAlignment="Stretch"
|
|
Text="{Binding CurrentRecipe.RecipeVersion}"
|
|
TextWrapping="Wrap" />
|
|
</Border>
|
|
<Border
|
|
Grid.Row="3"
|
|
Grid.Column="2"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,0,1,1" />
|
|
|
|
<Border
|
|
Grid.Row="4"
|
|
Grid.Column="0"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Title}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="1,0,1,1">
|
|
<TextBlock
|
|
VerticalAlignment="Center"
|
|
FontFamily="Arial"
|
|
FontSize="16"
|
|
Foreground="{DynamicResource FG_Black}"
|
|
Text="Create"
|
|
TextWrapping="Wrap" />
|
|
</Border>
|
|
<Border
|
|
Grid.Row="4"
|
|
Grid.Column="1"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,0,1,1">
|
|
<TextBlock
|
|
Width="Auto"
|
|
MinWidth="100"
|
|
VerticalAlignment="Stretch"
|
|
FontFamily="Arial"
|
|
FontSize="14"
|
|
Foreground="{DynamicResource FG_Black}"
|
|
Text="{Binding CurrentRecipe.Creator}"
|
|
TextWrapping="Wrap" />
|
|
</Border>
|
|
<Border
|
|
Grid.Row="4"
|
|
Grid.Column="2"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,0,1,1">
|
|
<TextBlock
|
|
Width="Auto"
|
|
MinWidth="100"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Center"
|
|
FontFamily="Arial"
|
|
FontSize="14"
|
|
Foreground="{DynamicResource FG_Black}"
|
|
Text="{Binding CurrentRecipe.CreateTime}"
|
|
TextWrapping="Wrap" />
|
|
</Border>
|
|
|
|
<Border
|
|
Grid.Row="5"
|
|
Grid.Column="0"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Title}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="1,0,1,1">
|
|
<TextBlock
|
|
VerticalAlignment="Center"
|
|
FontFamily="Arial"
|
|
FontSize="16"
|
|
Foreground="{DynamicResource FG_Black}"
|
|
Text="Revise"
|
|
TextWrapping="Wrap" />
|
|
</Border>
|
|
<Border
|
|
Grid.Row="5"
|
|
Grid.Column="1"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,0,1,1">
|
|
<TextBlock
|
|
Width="120"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Center"
|
|
FontFamily="Arial"
|
|
FontSize="14"
|
|
Foreground="{DynamicResource FG_Black}"
|
|
Text="{Binding CurrentRecipe.Revisor}"
|
|
TextWrapping="Wrap" />
|
|
</Border>
|
|
<Border
|
|
Grid.Row="5"
|
|
Grid.Column="2"
|
|
Padding="5,1"
|
|
Background="{DynamicResource Table_BG_Content}"
|
|
BorderBrush="{DynamicResource Table_BD}"
|
|
BorderThickness="0,0,1,1">
|
|
<TextBlock
|
|
MinWidth="140"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Center"
|
|
FontFamily="Arial"
|
|
FontSize="14"
|
|
Foreground="{DynamicResource FG_Black}"
|
|
Text="{Binding CurrentRecipe.ReviseTime}"
|
|
TextWrapping="Wrap" />
|
|
</Border>
|
|
</Grid>
|
|
|
|
</TabItem>
|
|
|
|
<TabItem Header="Steps" IsSelected="True">
|
|
<Grid
|
|
Grid.Row="1"
|
|
Margin="0,0,0,0"
|
|
IsEnabled="{Binding IsPermission}">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="97*" />
|
|
<ColumnDefinition Width="1041*" />
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="40" />
|
|
<RowDefinition />
|
|
</Grid.RowDefinitions>
|
|
<StackPanel
|
|
IsEnabled ="{Binding IsLoading, Converter={StaticResource reversBoolValueConverter}}"
|
|
Grid.ColumnSpan="2" Orientation="Horizontal">
|
|
<Label
|
|
Margin="250,0,0,0"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Center"
|
|
Content="TotalTime:"
|
|
FontFamily="Arial"
|
|
FontSize="16"
|
|
Foreground="{DynamicResource FG_Black}" />
|
|
|
|
<Label
|
|
Width="50"
|
|
Margin="0,0,0,0"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
HorizontalContentAlignment="Right"
|
|
Content="{Binding CurrentRecipe.RecipeTotalTime, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"
|
|
FontFamily="Arial"
|
|
FontSize="16"
|
|
Foreground="{DynamicResource FG_Black}" />
|
|
|
|
<Label
|
|
Width="20"
|
|
Margin="-10,0,10,0"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
HorizontalContentAlignment="Left"
|
|
Content="s"
|
|
FontFamily="Arial"
|
|
FontSize="16"
|
|
Foreground="{DynamicResource FG_Black}" />
|
|
|
|
<Button
|
|
Width="90"
|
|
Height="30"
|
|
Margin="0,0,0,0"
|
|
Content="Add"
|
|
IsEnabled="{Binding EnableStep}"
|
|
micro:Message.Attach="AddStep()"/>
|
|
<Button
|
|
Width="90"
|
|
Height="30"
|
|
Margin="10,0,0,0"
|
|
Content="Insert"
|
|
IsEnabled="{Binding EnableStep}"
|
|
micro:Message.Attach="InsertStepToLeft()"/>
|
|
<Button
|
|
Width="90"
|
|
Height="30"
|
|
Margin="10,0,0,0"
|
|
Content="Copy"
|
|
IsEnabled="{Binding EnableStep}"
|
|
micro:Message.Attach="CopyStep()"/>
|
|
<Button
|
|
Width="100"
|
|
Height="30"
|
|
Margin="10,0,0,0"
|
|
Content="Paste Front"
|
|
IsEnabled="{Binding EnableStep}"
|
|
micro:Message.Attach="PasteStepToLeft()"/>
|
|
<Button
|
|
Width="100"
|
|
Height="30"
|
|
Margin="10,0,0,0"
|
|
Content=" Paste Back"
|
|
IsEnabled="{Binding EnableStep}"
|
|
micro:Message.Attach="PasteStepToRight()"/>
|
|
<Button
|
|
Width="90"
|
|
Height="30"
|
|
Margin="10,0,0,0"
|
|
Content="Delete"
|
|
IsEnabled="{Binding EnableStep}"
|
|
micro:Message.Attach="DeleteStep()"/>
|
|
|
|
<!--<Button
|
|
Width="90"
|
|
Height="30"
|
|
Content="Validate"
|
|
IsEnabled="{Binding EnableStep}"
|
|
micro:Message.Attach="ShowValidationDetailWindow()"
|
|
materialDesign:BadgedAssist.BadgePlacementMode="TopLeft"
|
|
materialDesign:BadgedAssist.BadgeBackground="Red"
|
|
materialDesign:BadgedAssist.Badge="123"
|
|
materialDesign:BadgedAssist.IsMiniBadge="True"/>-->
|
|
|
|
<materialDesign:Badged
|
|
Badge="{Binding ErrorsCount, Converter={StaticResource RecipeErrorsCountToBadge}}"
|
|
BadgeColorZoneMode="Standard"
|
|
BadgeBackground="Red"
|
|
BadgeForeground="White"
|
|
Margin="40,5,0,0"
|
|
BadgePlacementMode="TopLeft"
|
|
CornerRadius="5,5,5,5"
|
|
materialDesign:BadgedAssist.IsMiniBadge="True">
|
|
<Button
|
|
Width="90"
|
|
Height="30"
|
|
Content="Validate"
|
|
IsEnabled="{Binding EnableStep}"
|
|
micro:Message.Attach="ShowValidationDetailWindow()"/>
|
|
</materialDesign:Badged>
|
|
|
|
|
|
|
|
<Button
|
|
x:Name="btnShowHideParamValue"
|
|
Width="50"
|
|
Height="30"
|
|
Margin="5,0,0,0"
|
|
IsEnabled="{Binding EnableStep}"
|
|
ToolTip="Show/Hide Param Values"
|
|
micro:Message.Attach="ShowHideParamValues()">
|
|
<Grid>
|
|
<Path
|
|
Stretch="Uniform"
|
|
Height="16"
|
|
Fill="{Binding ElementName=btnShowHideParamValue, Path=Foreground}"
|
|
Data="{StaticResource IconShow}"
|
|
Visibility="{Binding CurrentRecipe.Steps.IsHideValue,
|
|
Converter={StaticResource BoolVisibilityConverter},
|
|
ConverterParameter='True'}"/>
|
|
<Path
|
|
Stretch="Uniform"
|
|
Height="16"
|
|
Fill="{Binding ElementName=btnShowHideParamValue, Path=Foreground}"
|
|
Data="{StaticResource IconHide}"
|
|
Visibility="{Binding CurrentRecipe.Steps.IsHideValue,
|
|
Converter={StaticResource BoolVisibilityConverter},
|
|
ConverterParameter='False'}"/>
|
|
</Grid>
|
|
</Button>
|
|
|
|
<!--
|
|
|
|
Content="{Binding CurrentRecipe.Steps.IsHideValue,
|
|
Converter={StaticResource ShowHideValueButtonContentConverter}}"
|
|
|
|
Content="{Binding CurrentRecipe.Steps.IsHideValue,
|
|
Mode=OneWay,
|
|
Converter={StaticResource ShowHideValueButtonContentConverter}}"
|
|
|
|
-->
|
|
|
|
</StackPanel>
|
|
|
|
<Border
|
|
x:Name="dgContainer"
|
|
Grid.Row="1"
|
|
Grid.ColumnSpan="2" Grid.Column="0"
|
|
Background="Transparent"
|
|
IsHitTestVisible="{Binding IsLoading, Converter={StaticResource reversBoolValueConverter}}">
|
|
<Border.Resources>
|
|
<recipeEditors:RecipeStepsCollectionToSelectedItemsConverter
|
|
x:Key="RecipeStepsCollectionToSelectedItemsConverter"/>
|
|
</Border.Resources>
|
|
|
|
<dgExtension:XDataGrid
|
|
x:Name="dgCustom"
|
|
AlternationCount="1"
|
|
AutoGenerateColumns="False"
|
|
Background="Transparent"
|
|
CanUserAddRows="False"
|
|
CanUserDeleteRows="False"
|
|
CanUserReorderColumns="False"
|
|
CanUserResizeColumns="False"
|
|
CanUserResizeRows="False"
|
|
FrozenColumnCount="4"
|
|
GridLinesVisibility="None"
|
|
HeadersVisibility="Column"
|
|
IsEnabled="{Binding IsPermission}"
|
|
SelectionUnit="FullRow"
|
|
SelectionMode="Extended"
|
|
UseHorizontalScrolling="True"
|
|
Validation.ErrorTemplate="{x:Null}"
|
|
VerticalScrollBarVisibility="Auto"
|
|
VirtualizingPanel.IsVirtualizing="True"
|
|
VirtualizingPanel.VirtualizationMode="Recycling"
|
|
Style="{x:Null}"
|
|
Width="{Binding ElementName=dgContainer, Path=Height}"
|
|
Height="{Binding ElementName=dgContainer, Path=Width}"
|
|
SelectedItemsList="{Binding SelectedRecipeSteps,
|
|
Mode=OneWayToSource,
|
|
Converter={StaticResource RecipeStepsCollectionToSelectedItemsConverter}}"
|
|
LoadingRow="DgCustom_OnLoadingRow"
|
|
UnloadingRow="DgCustom_OnUnloadingRow">
|
|
<dgExtension:XDataGrid.Resources>
|
|
<recipeEditors:IsDgSelectionCountEqualsOneConverter x:Key="DgSelectionCountEqualsOneConverter"/>
|
|
<recipeEditors:StepNoToCxtMenuTitleConverter x:Key="StepNoToCxtMenuTitleConverter"/>
|
|
</dgExtension:XDataGrid.Resources>
|
|
<dgExtension:XDataGrid.LayoutTransform>
|
|
<TransformGroup>
|
|
<RotateTransform Angle="-90" />
|
|
<ScaleTransform ScaleX="1" ScaleY="-1" />
|
|
</TransformGroup>
|
|
</dgExtension:XDataGrid.LayoutTransform>
|
|
<dgExtension:XDataGrid.RowStyle>
|
|
<Style TargetType="{x:Type egc:DataGridRow}">
|
|
<Setter Property="Tag" Value="{Binding DataContext, RelativeSource={RelativeSource FindAncestor, AncestorType=UserControl}}"/>
|
|
<Setter Property="ContextMenu">
|
|
<Setter.Value>
|
|
<ContextMenu
|
|
Style="{StaticResource MaterialDesignMenu}"
|
|
Background="White"
|
|
IsEnabled="{Binding EnableStep, RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor}}"
|
|
micro:Action.TargetWithoutContext="{Binding Path=PlacementTarget.Tag, RelativeSource={RelativeSource Self}}">
|
|
<ContextMenu.Resources>
|
|
<Style x:Key="OneStepSelectedStyle" TargetType="MenuItem" BasedOn="{StaticResource MaterialDesignMenuItem}">
|
|
<Setter Property="IsEnabled" Value="{Binding RelativeSource={RelativeSource self},
|
|
Path=Parent.PlacementTarget.Tag.SelectedRecipeSteps,
|
|
Converter={StaticResource DgSelectionCountEqualsOneConverter}}"/>
|
|
</Style>
|
|
|
|
<SolidColorBrush x:Key="MenuItemIconColor" Color="Black"/>
|
|
|
|
</ContextMenu.Resources>
|
|
<!-- Selected Row hint -->
|
|
<MenuItem
|
|
Header="{Binding Path=StepNoParam, Mode=OneWay, Converter={StaticResource StepNoToCxtMenuTitleConverter}}"
|
|
IsEnabled="False">
|
|
<MenuItem.HeaderTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding }"
|
|
FontWeight="Black"/>
|
|
</DataTemplate>
|
|
</MenuItem.HeaderTemplate>
|
|
</MenuItem>
|
|
|
|
<Separator/>
|
|
|
|
<MenuItem
|
|
Header="Append New Step"
|
|
micro:Message.Attach="AddStep()"
|
|
Style="{StaticResource OneStepSelectedStyle}">
|
|
<MenuItem.Icon>
|
|
<Image Width="16" Height="16">
|
|
<Image.Source>
|
|
<DrawingImage>
|
|
<DrawingImage.Drawing>
|
|
<GeometryDrawing Brush="{StaticResource MenuItemIconColor}" >
|
|
<GeometryDrawing.Geometry>
|
|
<Geometry>
|
|
M597.333 768v-345.643c-24.495 24.998-53.35 45.709-85.333 60.902v284.74c0 47.128 38.204 85.333 85.333 85.333h170.667c47.13 0 85.333-38.205 85.333-85.333v-682.667c0-47.13-38.204-85.333-85.333-85.333h-170.667c-1.412 0-2.812 0.034-4.207 0.102 24.951 24.474 45.628 53.291 60.8 85.231h114.074v682.667h-170.667zM597.333 213.334c0-117.82-95.514-213.333-213.333-213.333s-213.333 95.514-213.333 213.333c0 117.82 95.513 213.333 213.333 213.333s213.333-95.514 213.333-213.333zM426.667 85.334v85.333h85.333v85.333h-85.333v85.333h-85.333v-85.333h-85.333v-85.333h85.333v-85.333h85.333z
|
|
</Geometry>
|
|
</GeometryDrawing.Geometry>
|
|
</GeometryDrawing>
|
|
</DrawingImage.Drawing>
|
|
</DrawingImage>
|
|
</Image.Source>
|
|
</Image>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<MenuItem
|
|
Header="New to Left"
|
|
micro:Message.Attach="InsertStepToLeft()"
|
|
Style="{StaticResource OneStepSelectedStyle}">
|
|
<MenuItem.Icon>
|
|
<Image Width="16" Height="16">
|
|
<Image.Source>
|
|
<DrawingImage>
|
|
<DrawingImage.Drawing>
|
|
<GeometryDrawing Brush="{StaticResource MenuItemIconColor}">
|
|
<GeometryDrawing.Geometry>
|
|
<Geometry>
|
|
M1000 1050C1027.6 1050 1050 1027.6 1050 1000V200C1050 172.4000000000001 1027.6 150 1000 150H700C672.4 150 650 172.4000000000001 650 200V1000C650 1027.6 672.4 1050 700 1050H1000zM950 950H750V250H950V950zM300 850C438.05 850 550 738.05 550 600S438.05 350 300 350S50 461.95 50 600S161.95 850 300 850zM350 750H250V650.05L150 650V550L250 550.05V450H350V550.05L450 550V650L350 650.05V750z
|
|
</Geometry>
|
|
</GeometryDrawing.Geometry>
|
|
</GeometryDrawing>
|
|
</DrawingImage.Drawing>
|
|
</DrawingImage>
|
|
</Image.Source>
|
|
</Image>
|
|
</MenuItem.Icon>
|
|
|
|
</MenuItem>
|
|
<MenuItem
|
|
Header="New to Right"
|
|
micro:Message.Attach="InsertStepToRight()"
|
|
Style="{StaticResource OneStepSelectedStyle}">
|
|
<MenuItem.Icon>
|
|
<Image Width="16" Height="16">
|
|
<Image.Source>
|
|
<DrawingImage>
|
|
<DrawingImage.Drawing>
|
|
<GeometryDrawing Brush="{StaticResource MenuItemIconColor}">
|
|
<GeometryDrawing.Geometry>
|
|
<Geometry>
|
|
M500 1050C527.6 1050 550 1027.6 550 1000V200C550 172.4000000000001 527.6 150 500 150H200C172.4 150 150 172.4000000000001 150 200V1000C150 1027.6 172.4 1050 200 1050H500zM450 950H250V250H450V950zM900 850C1038.05 850 1150 738.05 1150 600S1038.05 350 900 350S650 461.95 650 600S761.95 850 900 850zM950 750H850V650.05L750 650V550L850 550.05V450H950V550.05L1050 550V650L950 650.05V750z
|
|
</Geometry>
|
|
</GeometryDrawing.Geometry>
|
|
</GeometryDrawing>
|
|
</DrawingImage.Drawing>
|
|
</DrawingImage>
|
|
</Image.Source>
|
|
</Image>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<Separator/>
|
|
|
|
<MenuItem
|
|
Header="Copy"
|
|
micro:Message.Attach="CopyStep()" >
|
|
<MenuItem.Icon>
|
|
<Image Width="16" Height="16">
|
|
<Image.Source>
|
|
<DrawingImage>
|
|
<DrawingImage.Drawing>
|
|
<GeometryDrawing Brush="{StaticResource MenuItemIconColor}">
|
|
<GeometryDrawing.Geometry>
|
|
<Geometry>
|
|
M6 6V2c0-1.1.9-2 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-4v4a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8c0-1.1.9-2 2-2h4zm2 0h4a2 2 0 0 1 2 2v4h4V2H8v4zM2 8v10h10V8H2z
|
|
</Geometry>
|
|
</GeometryDrawing.Geometry>
|
|
</GeometryDrawing>
|
|
</DrawingImage.Drawing>
|
|
</DrawingImage>
|
|
</Image.Source>
|
|
</Image>
|
|
</MenuItem.Icon>
|
|
<!--<i:Interaction.Triggers>
|
|
<i:EventTrigger EventName="Click">
|
|
<micro:ActionMessage MethodName="CopyStep">
|
|
<micro:Parameter Value="{Binding Parent.PlacementTarget.Tag.SelectedRecipeSteps, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=MenuItem}}" />
|
|
</micro:ActionMessage>
|
|
</i:EventTrigger>
|
|
</i:Interaction.Triggers>-->
|
|
</MenuItem>
|
|
<MenuItem
|
|
Header="Paste to Left"
|
|
micro:Message.Attach="PasteStepToLeft()"
|
|
Style="{StaticResource OneStepSelectedStyle}"/>
|
|
<MenuItem
|
|
Header="Paste to Right"
|
|
micro:Message.Attach="PasteStepToRight()"
|
|
Style="{StaticResource OneStepSelectedStyle}"/>
|
|
|
|
|
|
<Separator/>
|
|
|
|
<MenuItem
|
|
Header="Duplicate to Left"
|
|
micro:Message.Attach="DuplicateStepToLeft()"
|
|
Style="{StaticResource OneStepSelectedStyle}"/>
|
|
<MenuItem
|
|
Header="Duplicate to Right"
|
|
micro:Message.Attach="DuplicateStepToRight()"
|
|
Style="{StaticResource OneStepSelectedStyle}"/>
|
|
<Separator/>
|
|
<MenuItem
|
|
Header="Delete"
|
|
micro:Message.Attach="DeleteStep()">
|
|
<MenuItem.Icon>
|
|
<Image Width="16" Height="16">
|
|
<Image.Source>
|
|
<DrawingImage>
|
|
<DrawingImage.Drawing>
|
|
<GeometryDrawing Brush="Red">
|
|
<GeometryDrawing.Geometry>
|
|
<Geometry>
|
|
M108 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H108zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z
|
|
</Geometry>
|
|
</GeometryDrawing.Geometry>
|
|
</GeometryDrawing>
|
|
</DrawingImage.Drawing>
|
|
</DrawingImage>
|
|
</Image.Source>
|
|
</Image>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
</ContextMenu>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
</dgExtension:XDataGrid.RowStyle>
|
|
</dgExtension:XDataGrid>
|
|
</Border>
|
|
</Grid>
|
|
</TabItem>
|
|
</TabControl>
|
|
</Grid>
|
|
</Grid>
|
|
</UserControl>
|