619 lines
30 KiB
XML
619 lines
30 KiB
XML
<UserControl x:Class="MECF.Framework.UI.Client.RecipeEditorLib.DGExtension.DataGridRecipe"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:local="clr-namespace:MECF.Framework.UI.Client.RecipeEditorLib.DGExtension"
|
|
xmlns:controls="clr-namespace:ExtendedGrid.Microsoft.Windows.Controls"
|
|
xmlns:cv="clr-namespace:MECF.Framework.UI.Client.RecipeEditorLib.Converters"
|
|
xmlns:controls1="clr-namespace:OpenSEMI.Ctrlib.Controls"
|
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
|
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
|
|
xmlns:micro="clr-namespace:Caliburn.Micro"
|
|
xmlns:converters="clr-namespace:MECF.Framework.UI.Core.Converters;assembly=MECF.Framework.UI.Core"
|
|
mc:Ignorable="d"
|
|
d:DesignHeight="450" d:DesignWidth="800">
|
|
<UserControl.Resources>
|
|
|
|
<!-- #region Converters -->
|
|
|
|
<converters:BoolCollapsedConverter x:Key="BoolCollapsedConverter"/>
|
|
<cv:ParamToCellTooltipConverter x:Key="CellTooltipConverter"/>
|
|
<cv:IsHighlightedToBorderThickness x:Key="IsHighlightedToBorderThickness"/>
|
|
<cv:IsHighlightedToBorderBrush x:Key="IsHighlightedToBorderBrush"/>
|
|
<cv:ParamValueDisplayConverter x:Key="ParamValueDisplayConverter"/>
|
|
<cv:PermissionToIsEnabledConverter x:Key="PermissionToIsEnabledConverter"/>
|
|
|
|
<!-- #endregion -->
|
|
|
|
<!-- #region Column Header Template -->
|
|
<DataTemplate x:Key="ColumnHeaderTemplateCommon">
|
|
<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="ColumnHeaderTemplateStepNo">
|
|
<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}" />
|
|
<CheckBox
|
|
Grid.Column="1"
|
|
Margin="0,0,0,0"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Center"
|
|
IsChecked="{Binding DataContext.CurrentRecipe.Steps.IsAllStepsSelected, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}" />
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="ColumnHeaderTemplateExpander">
|
|
<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}"
|
|
Expanded="Expander_OnExpanded"
|
|
Collapsed="Expander_OnCollapsed">
|
|
</Expander>
|
|
<Border.LayoutTransform>
|
|
<TransformGroup>
|
|
<RotateTransform Angle="-90" />
|
|
<ScaleTransform ScaleX="1" ScaleY="-1" />
|
|
</TransformGroup>
|
|
</Border.LayoutTransform>
|
|
</Border>
|
|
</DataTemplate>
|
|
|
|
<!-- #endregion -->
|
|
|
|
<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="CellTemplateDisplay">
|
|
<Border
|
|
BorderThickness="{Binding IsHighlighted, Mode=OneWay, Converter={StaticResource IsHighlightedToBorderThickness}}"
|
|
BorderBrush="{Binding IsHighlighted, Mode=OneWay, Converter={StaticResource IsHighlightedToBorderBrush}}"
|
|
ToolTip="{Binding Converter={StaticResource CellTooltipConverter}}"
|
|
PreviewMouseDown="DataGridCell_OnPreviewMouseDown">
|
|
<Border.LayoutTransform>
|
|
<TransformGroup>
|
|
<RotateTransform Angle="-90" />
|
|
<ScaleTransform ScaleX="1" ScaleY="-1" />
|
|
</TransformGroup>
|
|
</Border.LayoutTransform>
|
|
<Border.Style>
|
|
<Style TargetType="Border">
|
|
<Setter Property="Background" Value="#00FFFFFF"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsSaved}" Value="False">
|
|
<Setter Property="Background" Value="{StaticResource DataGrid_BG_CellValueChangedWithoutSave}"/>
|
|
</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="Permission"/>
|
|
</MultiBinding>
|
|
</TextBlock.Text>
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Style.Triggers>
|
|
<MultiDataTrigger >
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsEqualsToPrevious}" Value="False"/>
|
|
<Condition Binding="{Binding IsValid}" Value="False"/>
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter Property="Foreground" Value="{StaticResource DataGrid_FG_CellValueNotValid}" />
|
|
</MultiDataTrigger>
|
|
<MultiDataTrigger >
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsEqualsToPrevious}" Value="True"/>
|
|
<Condition Binding="{Binding IsValid}" Value="False"/>
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter Property="Foreground" Value="{StaticResource DataGrid_FG_CellValueNotValid}" />
|
|
</MultiDataTrigger>
|
|
<MultiDataTrigger >
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsEqualsToPrevious}" Value="False"/>
|
|
<Condition Binding="{Binding IsValid}" Value="True"/>
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter Property="Foreground" Value="{StaticResource DataGrid_FG_CellValueNotEquFront}" />
|
|
</MultiDataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
</Border>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="CellTemplateStepNo">
|
|
<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="True"
|
|
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 Visible}" Value="false">
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding IsSaved}" Value="False">
|
|
<Setter Property="Background" Value="{StaticResource DataGrid_BG_CellValueChangedWithoutSave}"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Border.Style>
|
|
</Border>
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="CellTemplateReadOnly">
|
|
<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">
|
|
<TextBlock
|
|
Padding="5,3"
|
|
IsEnabled="{Binding IsEnabled}"
|
|
Text="{Binding Value}" />
|
|
</Border>
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="CellTemplateText">
|
|
<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">
|
|
<controls1: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 Visible}" Value="false">
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Border.Style>
|
|
</Border>
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="CellTemplateSets3Ratio">
|
|
<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 IsValid}" Value="False">
|
|
<Setter Property="Foreground" Value="#9c0006"/>
|
|
<Setter Property="Background" Value="#ffc7ce"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBox.Style>
|
|
</TextBox>
|
|
</Border>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="CellTemplateNumber">
|
|
<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 IsValid}" 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="CellTemplateNumberText">
|
|
<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">
|
|
<controls1: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="CellTemplateComboBox">
|
|
<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">
|
|
<controls1: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 Visible}" Value="false">
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Border.Style>
|
|
|
|
</Border>
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate x:Key="CellTemplateComboBoxEx">
|
|
<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="CellTemplatePopSetting">
|
|
<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="CellTemplateExpander">
|
|
<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 Visible}" Value="false">
|
|
<Setter Property="Visibility" Value="Collapsed" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Border.Style>
|
|
</Border>
|
|
</DataTemplate>
|
|
|
|
<!--#endregion -->
|
|
|
|
<!--<Style TargetType="controls:DataGridCell" BasedOn="{x:Null}">
|
|
<Setter
|
|
Property="IsEnabled"
|
|
Value="{Binding Permission,
|
|
Converter={StaticResource PermissionToIsEnabledConverter}}"/>
|
|
</Style>-->
|
|
|
|
<Style x:Key="RecipeEditorDataGrid" TargetType="local:XDataGrid" BasedOn="{x:Null}">
|
|
<Setter Property="AutoGenerateColumns" Value="False"/>
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="CanUserAddRows" Value="False"/>
|
|
<Setter Property="CanUserDeleteRows" Value="False"/>
|
|
<Setter Property="CanUserReorderColumns" Value="False"/>
|
|
<Setter Property="CanUserResizeColumns" Value="False"/>
|
|
<Setter Property="CanUserResizeRows" Value="False"/>
|
|
<Setter Property="FrozenColumnCount" Value="4"/>
|
|
<Setter Property="GridLinesVisibility" Value="None"/>
|
|
<Setter Property="HeadersVisibility" Value="Column"/>
|
|
<Setter Property="SelectionUnit" Value="Cell"/>
|
|
<Setter Property="SelectionMode" Value="Single"/>
|
|
<Setter Property="UseHorizontalScrolling" Value="True"/>
|
|
<Setter Property="VerticalScrollBarVisibility" Value="Auto"/>
|
|
<Setter Property="CellStyle" Value="{x:Null}"/>
|
|
<Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/>
|
|
<Setter Property="LayoutTransform">
|
|
<Setter.Value>
|
|
<TransformGroup>
|
|
<RotateTransform Angle="-90" />
|
|
<ScaleTransform ScaleX="1" ScaleY="-1" />
|
|
</TransformGroup>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="RowStyle">
|
|
<Setter.Value>
|
|
<Style TargetType="controls:DataGridRow">
|
|
<Setter
|
|
Property="Visibility"
|
|
Value="{Binding IsVisible,
|
|
Converter={StaticResource BoolCollapsedConverter}}"/>
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding IsSelected}" Value="True">
|
|
<Setter Property="Background" Value="{StaticResource DataGrid_BG_Selected}"/>
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- #region Drag-to-Fill Style-->
|
|
|
|
<SolidColorBrush x:Key="DragToFillFrameColor" Color="ForestGreen"/>
|
|
|
|
<Style x:Key="DragToFillThumbStyle" TargetType="Thumb" BasedOn="{x:Null}">
|
|
<Setter Property="Height" Value="10"/>
|
|
<Setter Property="Width" Value="10"/>
|
|
<Setter Property="Background" Value="{StaticResource DragToFillFrameColor}"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type Thumb}">
|
|
<Rectangle
|
|
StrokeThickness="0"
|
|
Fill="{TemplateBinding Background}"/>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!-- #endregion -->
|
|
|
|
</UserControl.Resources>
|
|
<local:XDataGrid
|
|
x:Name="dgCustom"
|
|
DragToFillAdornerColorBrush="{StaticResource DragToFillFrameColor}"
|
|
DragToFillAdornerThumbStyle="{StaticResource DragToFillThumbStyle}"
|
|
Style="{StaticResource RecipeEditorDataGrid}"
|
|
Width="{Binding Path=ActualHeight, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}"
|
|
Height="{Binding Path=ActualWidth, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=UserControl}}"
|
|
LoadingRow="DgCustom_OnLoadingRow"
|
|
UnloadingRow="DgCustom_OnUnloadingRow"
|
|
BeginningEdit="DgCustom_OnBeginningEdit"
|
|
CellEditEnding="DgCustom_OnCellEditEnding">
|
|
</local:XDataGrid>
|
|
</UserControl>
|