|
@@ -0,0 +1,573 @@
|
|
|
|
+<ResourceDictionary
|
|
|
|
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
|
|
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
|
|
+ xmlns:converters="clr-namespace:UniformMaterialManagementSystem.Converters"
|
|
|
|
+ xmlns:utils="clr-namespace:UniformMaterialManagementSystem.Utils">
|
|
|
|
+
|
|
|
|
+ <ControlTemplate x:Key="ValidationErrorTemplate">
|
|
|
|
+ <StackPanel>
|
|
|
|
+ <Border
|
|
|
|
+ BorderBrush="Red"
|
|
|
|
+ BorderThickness="1"
|
|
|
|
+ CornerRadius="5">
|
|
|
|
+ <AdornedElementPlaceholder x:Name="AdornedElement" />
|
|
|
|
+ </Border>
|
|
|
|
+
|
|
|
|
+ <TextBlock
|
|
|
|
+ HorizontalAlignment="Right"
|
|
|
|
+ Background="Transparent"
|
|
|
|
+ Foreground="Red"
|
|
|
|
+ Text="{Binding /ErrorContent}" />
|
|
|
|
+ </StackPanel>
|
|
|
|
+ </ControlTemplate>
|
|
|
|
+
|
|
|
|
+ <Style x:Key="ScrollBarThumb" TargetType="{x:Type Thumb}">
|
|
|
|
+ <Setter Property="OverridesDefaultStyle" Value="true" />
|
|
|
|
+ <Setter Property="IsTabStop" Value="false" />
|
|
|
|
+ <Setter Property="Template">
|
|
|
|
+ <Setter.Value>
|
|
|
|
+ <ControlTemplate TargetType="{x:Type Thumb}">
|
|
|
|
+ <Grid>
|
|
|
|
+ <Rectangle
|
|
|
|
+ Fill="#0c9ea1"
|
|
|
|
+ RadiusX="3"
|
|
|
|
+ RadiusY="3" />
|
|
|
|
+ </Grid>
|
|
|
|
+ </ControlTemplate>
|
|
|
|
+ </Setter.Value>
|
|
|
|
+ </Setter>
|
|
|
|
+ </Style>
|
|
|
|
+
|
|
|
|
+ <Style x:Key="HorizontalScrollBarPageButton" TargetType="{x:Type RepeatButton}">
|
|
|
|
+ <Setter Property="OverridesDefaultStyle" Value="true" />
|
|
|
|
+ <Setter Property="Background" Value="Transparent" />
|
|
|
|
+ <Setter Property="Focusable" Value="false" />
|
|
|
|
+ <Setter Property="IsTabStop" Value="false" />
|
|
|
|
+ <Setter Property="Opacity" Value="0" />
|
|
|
|
+ <Setter Property="Template">
|
|
|
|
+ <Setter.Value>
|
|
|
|
+ <ControlTemplate TargetType="{x:Type RepeatButton}">
|
|
|
|
+ <Rectangle
|
|
|
|
+ Width="{TemplateBinding Width}"
|
|
|
|
+ Height="{TemplateBinding Height}"
|
|
|
|
+ Fill="{TemplateBinding Background}" />
|
|
|
|
+ </ControlTemplate>
|
|
|
|
+ </Setter.Value>
|
|
|
|
+ </Setter>
|
|
|
|
+ </Style>
|
|
|
|
+
|
|
|
|
+ <Style x:Key="VerticalScrollBarPageButton" TargetType="{x:Type RepeatButton}">
|
|
|
|
+ <Setter Property="OverridesDefaultStyle" Value="true" />
|
|
|
|
+ <Setter Property="Background" Value="Transparent" />
|
|
|
|
+ <Setter Property="Focusable" Value="false" />
|
|
|
|
+ <Setter Property="IsTabStop" Value="false" />
|
|
|
|
+ <Setter Property="Opacity" Value="0" />
|
|
|
|
+ <Setter Property="Template">
|
|
|
|
+ <Setter.Value>
|
|
|
|
+ <ControlTemplate TargetType="{x:Type RepeatButton}">
|
|
|
|
+ <Rectangle
|
|
|
|
+ Width="{TemplateBinding Width}"
|
|
|
|
+ Height="{TemplateBinding Height}"
|
|
|
|
+ Fill="{TemplateBinding Background}" />
|
|
|
|
+ </ControlTemplate>
|
|
|
|
+ </Setter.Value>
|
|
|
|
+ </Setter>
|
|
|
|
+ </Style>
|
|
|
|
+
|
|
|
|
+ <Style x:Key="ForScrollbar" TargetType="{x:Type ScrollBar}">
|
|
|
|
+ <Setter Property="Stylus.IsPressAndHoldEnabled" Value="false" />
|
|
|
|
+ <Setter Property="Stylus.IsFlicksEnabled" Value="false" />
|
|
|
|
+ <Setter Property="Background" Value="Transparent" />
|
|
|
|
+ <Setter Property="Margin" Value="0,1,1,6" />
|
|
|
|
+ <Setter Property="Width" Value="5" />
|
|
|
|
+ <Setter Property="MinWidth" Value="5" />
|
|
|
|
+ <Setter Property="Opacity" Value="0" />
|
|
|
|
+ <Setter Property="Template">
|
|
|
|
+ <Setter.Value>
|
|
|
|
+ <ControlTemplate TargetType="{x:Type ScrollBar}">
|
|
|
|
+ <Grid x:Name="Bg" SnapsToDevicePixels="true">
|
|
|
|
+ <Track
|
|
|
|
+ x:Name="PART_Track"
|
|
|
|
+ IsDirectionReversed="true"
|
|
|
|
+ IsEnabled="{TemplateBinding IsMouseOver}">
|
|
|
|
+ <Track.DecreaseRepeatButton>
|
|
|
|
+ <RepeatButton Command="{x:Static ScrollBar.PageUpCommand}" Style="{StaticResource VerticalScrollBarPageButton}" />
|
|
|
|
+ </Track.DecreaseRepeatButton>
|
|
|
|
+ <Track.IncreaseRepeatButton>
|
|
|
|
+ <RepeatButton Command="{x:Static ScrollBar.PageDownCommand}" Style="{StaticResource VerticalScrollBarPageButton}" />
|
|
|
|
+ </Track.IncreaseRepeatButton>
|
|
|
|
+ <Track.Thumb>
|
|
|
|
+ <Thumb Style="{StaticResource ScrollBarThumb}" />
|
|
|
|
+ </Track.Thumb>
|
|
|
|
+ </Track>
|
|
|
|
+ </Grid>
|
|
|
|
+ </ControlTemplate>
|
|
|
|
+ </Setter.Value>
|
|
|
|
+ </Setter>
|
|
|
|
+ <Style.Triggers>
|
|
|
|
+ <Trigger Property="Orientation" Value="Horizontal">
|
|
|
|
+ <Setter Property="Background" Value="Transparent" />
|
|
|
|
+ <Setter Property="Margin" Value="1,0,6,1" />
|
|
|
|
+ <Setter Property="Height" Value="5" />
|
|
|
|
+ <Setter Property="MinHeight" Value="5" />
|
|
|
|
+ <Setter Property="Width" Value="Auto" />
|
|
|
|
+ <Setter Property="Opacity" Value="0" />
|
|
|
|
+ <Setter Property="Template">
|
|
|
|
+ <Setter.Value>
|
|
|
|
+ <ControlTemplate TargetType="{x:Type ScrollBar}">
|
|
|
|
+ <Grid x:Name="Bg" SnapsToDevicePixels="true">
|
|
|
|
+ <Track x:Name="PART_Track" IsEnabled="{TemplateBinding IsMouseOver}">
|
|
|
|
+ <Track.DecreaseRepeatButton>
|
|
|
|
+ <RepeatButton Command="{x:Static ScrollBar.PageLeftCommand}" Style="{StaticResource HorizontalScrollBarPageButton}" />
|
|
|
|
+ </Track.DecreaseRepeatButton>
|
|
|
|
+ <Track.IncreaseRepeatButton>
|
|
|
|
+ <RepeatButton Command="{x:Static ScrollBar.PageRightCommand}" Style="{StaticResource HorizontalScrollBarPageButton}" />
|
|
|
|
+ </Track.IncreaseRepeatButton>
|
|
|
|
+ <Track.Thumb>
|
|
|
|
+ <Thumb Style="{StaticResource ScrollBarThumb}" />
|
|
|
|
+ </Track.Thumb>
|
|
|
|
+ </Track>
|
|
|
|
+ </Grid>
|
|
|
|
+ </ControlTemplate>
|
|
|
|
+ </Setter.Value>
|
|
|
|
+ </Setter>
|
|
|
|
+ </Trigger>
|
|
|
|
+ </Style.Triggers>
|
|
|
|
+ </Style>
|
|
|
|
+
|
|
|
|
+ <Style x:Key="ForScrollViewer" TargetType="{x:Type ScrollViewer}">
|
|
|
|
+ <Setter Property="BorderBrush" Value="LightGray" />
|
|
|
|
+ <Setter Property="BorderThickness" Value="0" />
|
|
|
|
+ <Setter Property="HorizontalContentAlignment" Value="Left" />
|
|
|
|
+ <Setter Property="HorizontalScrollBarVisibility" Value="Auto" />
|
|
|
|
+ <Setter Property="VerticalContentAlignment" Value="Top" />
|
|
|
|
+ <Setter Property="VerticalScrollBarVisibility" Value="Auto" />
|
|
|
|
+ <Setter Property="Template">
|
|
|
|
+ <Setter.Value>
|
|
|
|
+ <ControlTemplate TargetType="{x:Type ScrollViewer}">
|
|
|
|
+ <Border
|
|
|
|
+ BorderBrush="{TemplateBinding BorderBrush}"
|
|
|
|
+ BorderThickness="{TemplateBinding BorderThickness}"
|
|
|
|
+ SnapsToDevicePixels="True">
|
|
|
|
+ <Grid Background="{TemplateBinding Background}">
|
|
|
|
+ <ScrollContentPresenter
|
|
|
|
+ Margin="{TemplateBinding Padding}"
|
|
|
|
+ ContentTemplate="{TemplateBinding ContentTemplate}"
|
|
|
|
+ Cursor="{TemplateBinding Cursor}" />
|
|
|
|
+ <ScrollBar
|
|
|
|
+ x:Name="PART_VerticalScrollBar"
|
|
|
|
+ HorizontalAlignment="Right"
|
|
|
|
+ Maximum="{TemplateBinding ScrollableHeight}"
|
|
|
|
+ Orientation="Vertical"
|
|
|
|
+ Style="{StaticResource ForScrollbar}"
|
|
|
|
+ ViewportSize="{TemplateBinding ViewportHeight}"
|
|
|
|
+ Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}"
|
|
|
|
+ Value="{TemplateBinding VerticalOffset}" />
|
|
|
|
+ <ScrollBar
|
|
|
|
+ x:Name="PART_HorizontalScrollBar"
|
|
|
|
+ VerticalAlignment="Bottom"
|
|
|
|
+ Maximum="{TemplateBinding ScrollableWidth}"
|
|
|
|
+ Orientation="Horizontal"
|
|
|
|
+ Style="{StaticResource ForScrollbar}"
|
|
|
|
+ ViewportSize="{TemplateBinding ViewportWidth}"
|
|
|
|
+ Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}"
|
|
|
|
+ Value="{TemplateBinding HorizontalOffset}" />
|
|
|
|
+ </Grid>
|
|
|
|
+ </Border>
|
|
|
|
+ <ControlTemplate.Triggers>
|
|
|
|
+ <EventTrigger RoutedEvent="ScrollChanged">
|
|
|
|
+ <BeginStoryboard>
|
|
|
|
+ <Storyboard>
|
|
|
|
+ <DoubleAnimation
|
|
|
|
+ Storyboard.TargetName="PART_VerticalScrollBar"
|
|
|
|
+ Storyboard.TargetProperty="Opacity"
|
|
|
|
+ To="1"
|
|
|
|
+ Duration="0:0:1" />
|
|
|
|
+ <DoubleAnimation
|
|
|
|
+ BeginTime="0:0:1"
|
|
|
|
+ Storyboard.TargetName="PART_VerticalScrollBar"
|
|
|
|
+ Storyboard.TargetProperty="Opacity"
|
|
|
|
+ To="0"
|
|
|
|
+ Duration="0:0:1" />
|
|
|
|
+ <DoubleAnimation
|
|
|
|
+ Storyboard.TargetName="PART_HorizontalScrollBar"
|
|
|
|
+ Storyboard.TargetProperty="Opacity"
|
|
|
|
+ To="1"
|
|
|
|
+ Duration="0:0:1" />
|
|
|
|
+ <DoubleAnimation
|
|
|
|
+ BeginTime="0:0:1"
|
|
|
|
+ Storyboard.TargetName="PART_HorizontalScrollBar"
|
|
|
|
+ Storyboard.TargetProperty="Opacity"
|
|
|
|
+ To="0"
|
|
|
|
+ Duration="0:0:1" />
|
|
|
|
+ </Storyboard>
|
|
|
|
+ </BeginStoryboard>
|
|
|
|
+ </EventTrigger>
|
|
|
|
+ <EventTrigger RoutedEvent="MouseEnter" SourceName="PART_VerticalScrollBar">
|
|
|
|
+ <BeginStoryboard>
|
|
|
|
+ <Storyboard>
|
|
|
|
+ <DoubleAnimation
|
|
|
|
+ Storyboard.TargetName="PART_VerticalScrollBar"
|
|
|
|
+ Storyboard.TargetProperty="Opacity"
|
|
|
|
+ To="1"
|
|
|
|
+ Duration="0:0:1" />
|
|
|
|
+ </Storyboard>
|
|
|
|
+ </BeginStoryboard>
|
|
|
|
+ </EventTrigger>
|
|
|
|
+ <EventTrigger RoutedEvent="MouseLeave" SourceName="PART_VerticalScrollBar">
|
|
|
|
+ <BeginStoryboard>
|
|
|
|
+ <Storyboard>
|
|
|
|
+ <DoubleAnimation
|
|
|
|
+ Storyboard.TargetName="PART_VerticalScrollBar"
|
|
|
|
+ Storyboard.TargetProperty="Opacity"
|
|
|
|
+ To="0"
|
|
|
|
+ Duration="0:0:1" />
|
|
|
|
+ </Storyboard>
|
|
|
|
+ </BeginStoryboard>
|
|
|
|
+ </EventTrigger>
|
|
|
|
+ <EventTrigger RoutedEvent="MouseEnter" SourceName="PART_HorizontalScrollBar">
|
|
|
|
+ <BeginStoryboard>
|
|
|
|
+ <Storyboard>
|
|
|
|
+ <DoubleAnimation
|
|
|
|
+ Storyboard.TargetName="PART_HorizontalScrollBar"
|
|
|
|
+ Storyboard.TargetProperty="Opacity"
|
|
|
|
+ To="1"
|
|
|
|
+ Duration="0:0:1" />
|
|
|
|
+ </Storyboard>
|
|
|
|
+ </BeginStoryboard>
|
|
|
|
+ </EventTrigger>
|
|
|
|
+ <EventTrigger RoutedEvent="MouseLeave" SourceName="PART_HorizontalScrollBar">
|
|
|
|
+ <BeginStoryboard>
|
|
|
|
+ <Storyboard>
|
|
|
|
+ <DoubleAnimation
|
|
|
|
+ Storyboard.TargetName="PART_HorizontalScrollBar"
|
|
|
|
+ Storyboard.TargetProperty="Opacity"
|
|
|
|
+ To="0"
|
|
|
|
+ Duration="0:0:1" />
|
|
|
|
+ </Storyboard>
|
|
|
|
+ </BeginStoryboard>
|
|
|
|
+ </EventTrigger>
|
|
|
|
+ </ControlTemplate.Triggers>
|
|
|
|
+ </ControlTemplate>
|
|
|
|
+ </Setter.Value>
|
|
|
|
+ </Setter>
|
|
|
|
+ </Style>
|
|
|
|
+
|
|
|
|
+ <Style x:Key="ExpandCollapseToggleStyle" TargetType="{x:Type ToggleButton}">
|
|
|
|
+ <Setter Property="Focusable" Value="False" />
|
|
|
|
+ <Setter Property="Width" Value="20" />
|
|
|
|
+ <Setter Property="Height" Value="20" />
|
|
|
|
+ <Setter Property="Template">
|
|
|
|
+ <Setter.Value>
|
|
|
|
+ <ControlTemplate TargetType="{x:Type ToggleButton}">
|
|
|
|
+ <Border Background="Transparent">
|
|
|
|
+ <Label
|
|
|
|
+ x:Name="ExpandPath"
|
|
|
|
+ Width="20"
|
|
|
|
+ Height="20"
|
|
|
|
+ Template="{StaticResource NodeCollapse}" />
|
|
|
|
+ </Border>
|
|
|
|
+ <ControlTemplate.Triggers>
|
|
|
|
+ <Trigger Property="IsChecked" Value="True">
|
|
|
|
+ <Setter TargetName="ExpandPath" Property="RenderTransform">
|
|
|
|
+ <Setter.Value>
|
|
|
|
+ <RotateTransform Angle="45" CenterX="10" CenterY="10" />
|
|
|
|
+ </Setter.Value>
|
|
|
|
+ </Setter>
|
|
|
|
+ </Trigger>
|
|
|
|
+ </ControlTemplate.Triggers>
|
|
|
|
+ </ControlTemplate>
|
|
|
|
+ </Setter.Value>
|
|
|
|
+ </Setter>
|
|
|
|
+ </Style>
|
|
|
|
+
|
|
|
|
+ <Style x:Key="TreeViewItemStyle" TargetType="{x:Type TreeViewItem}">
|
|
|
|
+ <Setter Property="Background" Value="Transparent" />
|
|
|
|
+ <Setter Property="HorizontalContentAlignment" Value="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" />
|
|
|
|
+ <Setter Property="VerticalContentAlignment" Value="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" />
|
|
|
|
+ <Setter Property="Padding" Value="1,0,0,0" />
|
|
|
|
+ <Setter Property="Template">
|
|
|
|
+ <Setter.Value>
|
|
|
|
+ <ControlTemplate TargetType="{x:Type TreeViewItem}">
|
|
|
|
+ <Grid>
|
|
|
|
+ <Grid.ColumnDefinitions>
|
|
|
|
+ <ColumnDefinition Width="Auto" MinWidth="20" />
|
|
|
|
+ <ColumnDefinition Width="Auto" />
|
|
|
|
+ <ColumnDefinition Width="*" />
|
|
|
|
+ </Grid.ColumnDefinitions>
|
|
|
|
+ <Grid.RowDefinitions>
|
|
|
|
+ <RowDefinition Height="Auto" />
|
|
|
|
+ <RowDefinition />
|
|
|
|
+ </Grid.RowDefinitions>
|
|
|
|
+
|
|
|
|
+ <Border
|
|
|
|
+ x:Name="Bd"
|
|
|
|
+ Grid.Row="0"
|
|
|
|
+ Grid.Column="0"
|
|
|
|
+ Grid.ColumnSpan="3"
|
|
|
|
+ Margin="-1600,0,0,0"
|
|
|
|
+ Background="{TemplateBinding Background}"
|
|
|
|
+ BorderBrush="{TemplateBinding BorderBrush}"
|
|
|
|
+ BorderThickness="{TemplateBinding BorderThickness}"
|
|
|
|
+ SnapsToDevicePixels="true" />
|
|
|
|
+
|
|
|
|
+ <ToggleButton
|
|
|
|
+ x:Name="Expander"
|
|
|
|
+ Grid.Row="0"
|
|
|
|
+ Grid.Column="0"
|
|
|
|
+ Margin="3,0"
|
|
|
|
+ ClickMode="Press"
|
|
|
|
+ IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}"
|
|
|
|
+ Style="{StaticResource ExpandCollapseToggleStyle}" />
|
|
|
|
+
|
|
|
|
+ <ContentPresenter
|
|
|
|
+ x:Name="PART_Header"
|
|
|
|
+ Grid.Row="0"
|
|
|
|
+ Grid.Column="1"
|
|
|
|
+ HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
|
|
|
+ ContentSource="Header"
|
|
|
|
+ SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
|
|
|
+
|
|
|
|
+ <ItemsPresenter
|
|
|
|
+ x:Name="ItemsHost"
|
|
|
|
+ Grid.Row="1"
|
|
|
|
+ Grid.Column="1"
|
|
|
|
+ Grid.ColumnSpan="2" />
|
|
|
|
+ </Grid>
|
|
|
|
+ <ControlTemplate.Triggers>
|
|
|
|
+ <Trigger Property="IsExpanded" Value="false">
|
|
|
|
+ <Setter TargetName="ItemsHost" Property="Visibility" Value="Collapsed" />
|
|
|
|
+ </Trigger>
|
|
|
|
+ <Trigger Property="HasItems" Value="false">
|
|
|
|
+ <Setter TargetName="Expander" Property="Visibility" Value="Hidden" />
|
|
|
|
+ </Trigger>
|
|
|
|
+ <Trigger Property="IsSelected" Value="true">
|
|
|
|
+ <Setter Property="Foreground" Value="{StaticResource PrimaryColor}" />
|
|
|
|
+ <Setter Property="FontWeight" Value="Bold" />
|
|
|
|
+ </Trigger>
|
|
|
|
+ <!--<MultiTrigger>
|
|
|
|
+ <MultiTrigger.Conditions>
|
|
|
|
+ <Condition Property="IsSelected" Value="true" />
|
|
|
|
+ <Condition Property="IsSelectionActive" Value="false" />
|
|
|
|
+ </MultiTrigger.Conditions>
|
|
|
|
+ <Setter Property="Foreground" Value="{StaticResource PrimaryColor}" />
|
|
|
|
+ <Setter Property="FontWeight" Value="Bold" />
|
|
|
|
+ </MultiTrigger>-->
|
|
|
|
+ <Trigger Property="IsEnabled" Value="false">
|
|
|
|
+ <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
|
|
|
|
+ </Trigger>
|
|
|
|
+ <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Converter={converters:TreeViewItemLevelConverter}}" Value="1">
|
|
|
|
+ <Setter Property="Background" Value="LightGray" />
|
|
|
|
+ </DataTrigger>
|
|
|
|
+ </ControlTemplate.Triggers>
|
|
|
|
+ </ControlTemplate>
|
|
|
|
+ </Setter.Value>
|
|
|
|
+ </Setter>
|
|
|
|
+ <Style.Triggers>
|
|
|
|
+ <Trigger Property="VirtualizingPanel.IsVirtualizing" Value="true">
|
|
|
|
+ <Setter Property="ItemsPanel">
|
|
|
|
+ <Setter.Value>
|
|
|
|
+ <ItemsPanelTemplate>
|
|
|
|
+ <VirtualizingStackPanel />
|
|
|
|
+ </ItemsPanelTemplate>
|
|
|
|
+ </Setter.Value>
|
|
|
|
+ </Setter>
|
|
|
|
+ </Trigger>
|
|
|
|
+ </Style.Triggers>
|
|
|
|
+ </Style>
|
|
|
|
+
|
|
|
|
+ <ControlTemplate x:Key="ComboBoxToggleButton" TargetType="{x:Type ToggleButton}">
|
|
|
|
+ <Grid>
|
|
|
|
+ <Grid.ColumnDefinitions>
|
|
|
|
+ <ColumnDefinition />
|
|
|
|
+ <ColumnDefinition Width="Auto" />
|
|
|
|
+ </Grid.ColumnDefinitions>
|
|
|
|
+
|
|
|
|
+ <Border
|
|
|
|
+ x:Name="Border"
|
|
|
|
+ Grid.ColumnSpan="2"
|
|
|
|
+ BorderThickness="0" />
|
|
|
|
+ <Border Grid.Column="0" Background="Transparent" />
|
|
|
|
+
|
|
|
|
+ <Label
|
|
|
|
+ x:Name="downArrow"
|
|
|
|
+ Grid.Column="1"
|
|
|
|
+ Margin="6,0,6,0"
|
|
|
|
+ HorizontalContentAlignment="Center"
|
|
|
|
+ VerticalContentAlignment="Center"
|
|
|
|
+ Content="{x:Static utils:RegularFontUtil.Chevron_Down_48}"
|
|
|
|
+ FontFamily="{DynamicResource FluentSystemIconsRegular}" />
|
|
|
|
+ <Label
|
|
|
|
+ x:Name="upArrow"
|
|
|
|
+ Grid.Column="1"
|
|
|
|
+ Margin="6,0,6,0"
|
|
|
|
+ HorizontalContentAlignment="Center"
|
|
|
|
+ VerticalContentAlignment="Center"
|
|
|
|
+ Content="{x:Static utils:RegularFontUtil.Chevron_Up_48}"
|
|
|
|
+ FontFamily="{DynamicResource FluentSystemIconsRegular}"
|
|
|
|
+ Visibility="Collapsed" />
|
|
|
|
+ </Grid>
|
|
|
|
+ <ControlTemplate.Triggers>
|
|
|
|
+ <Trigger Property="IsChecked" Value="true">
|
|
|
|
+ <Setter TargetName="downArrow" Property="Visibility" Value="Collapsed" />
|
|
|
|
+ <Setter TargetName="upArrow" Property="Visibility" Value="Visible" />
|
|
|
|
+ </Trigger>
|
|
|
|
+ </ControlTemplate.Triggers>
|
|
|
|
+ </ControlTemplate>
|
|
|
|
+
|
|
|
|
+ <ControlTemplate x:Key="ComboBoxTextBox" TargetType="{x:Type TextBox}">
|
|
|
|
+ <Border
|
|
|
|
+ x:Name="PART_ContentHost"
|
|
|
|
+ Background="{TemplateBinding Background}"
|
|
|
|
+ Focusable="False" />
|
|
|
|
+ </ControlTemplate>
|
|
|
|
+
|
|
|
|
+ <Style x:Key="WpfComboBoxStyle" TargetType="{x:Type ComboBox}">
|
|
|
|
+ <Setter Property="HorizontalAlignment" Value="Stretch" />
|
|
|
|
+ <Setter Property="MaxDropDownHeight" Value="150" />
|
|
|
|
+ <Setter Property="BorderBrush" Value="#E4E9F2" />
|
|
|
|
+ <Setter Property="Background" Value="#FFFFFF" />
|
|
|
|
+ <Setter Property="BorderThickness" Value="1" />
|
|
|
|
+ <Setter Property="SnapsToDevicePixels" Value="true" />
|
|
|
|
+ <Setter Property="OverridesDefaultStyle" Value="true" />
|
|
|
|
+ <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
|
|
|
|
+ <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
|
|
|
|
+ <Setter Property="ScrollViewer.CanContentScroll" Value="true" />
|
|
|
|
+ <Setter Property="Foreground" Value="#3E434D" />
|
|
|
|
+ <Setter Property="MinWidth" Value="120" />
|
|
|
|
+ <Setter Property="MinHeight" Value="30" />
|
|
|
|
+ <Setter Property="Template">
|
|
|
|
+ <Setter.Value>
|
|
|
|
+ <ControlTemplate TargetType="{x:Type ComboBox}">
|
|
|
|
+ <Border
|
|
|
|
+ x:Name="myBorder"
|
|
|
|
+ Background="{TemplateBinding Background}"
|
|
|
|
+ BorderBrush="{TemplateBinding BorderBrush}"
|
|
|
|
+ BorderThickness="{TemplateBinding BorderThickness}"
|
|
|
|
+ CornerRadius="5">
|
|
|
|
+ <Grid>
|
|
|
|
+ <ToggleButton
|
|
|
|
+ x:Name="ToggleButton"
|
|
|
|
+ ClickMode="Press"
|
|
|
|
+ Focusable="false"
|
|
|
|
+ IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
|
|
|
|
+ Template="{StaticResource ComboBoxToggleButton}" />
|
|
|
|
+ <ContentPresenter
|
|
|
|
+ x:Name="ContentSite"
|
|
|
|
+ Margin="{TemplateBinding Padding}"
|
|
|
|
+ HorizontalAlignment="Center"
|
|
|
|
+ VerticalAlignment="Center"
|
|
|
|
+ Content="{TemplateBinding SelectionBoxItem}"
|
|
|
|
+ ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
|
|
|
|
+ ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
|
|
|
|
+ IsHitTestVisible="False" />
|
|
|
|
+ <TextBox
|
|
|
|
+ x:Name="PART_EditableTextBox"
|
|
|
|
+ HorizontalAlignment="Center"
|
|
|
|
+ VerticalAlignment="Center"
|
|
|
|
+ Background="Transparent"
|
|
|
|
+ Focusable="True"
|
|
|
|
+ IsReadOnly="{TemplateBinding IsReadOnly}"
|
|
|
|
+ Style="{x:Null}"
|
|
|
|
+ Template="{StaticResource ComboBoxTextBox}"
|
|
|
|
+ Visibility="Visible" />
|
|
|
|
+ <Popup
|
|
|
|
+ x:Name="Popup"
|
|
|
|
+ MaxHeight="{TemplateBinding MaxDropDownHeight}"
|
|
|
|
+ AllowsTransparency="True"
|
|
|
|
+ Focusable="False"
|
|
|
|
+ HorizontalOffset="-1"
|
|
|
|
+ IsOpen="{TemplateBinding IsDropDownOpen}"
|
|
|
|
+ Placement="Bottom"
|
|
|
|
+ PopupAnimation="Slide"
|
|
|
|
+ VerticalOffset="2">
|
|
|
|
+ <Grid
|
|
|
|
+ x:Name="DropDown"
|
|
|
|
+ MinWidth="{TemplateBinding ActualWidth}"
|
|
|
|
+ MaxHeight="{TemplateBinding MaxDropDownHeight}"
|
|
|
|
+ Margin="18,0,18,18"
|
|
|
|
+ SnapsToDevicePixels="True">
|
|
|
|
+ <Border
|
|
|
|
+ x:Name="DropDownBorder"
|
|
|
|
+ BorderBrush="#E4E9F2"
|
|
|
|
+ BorderThickness="1,1,1,1"
|
|
|
|
+ CornerRadius="5">
|
|
|
|
+ <Border.Background>
|
|
|
|
+ <SolidColorBrush Color="White" />
|
|
|
|
+ </Border.Background>
|
|
|
|
+ </Border>
|
|
|
|
+ <ScrollViewer
|
|
|
|
+ Margin="1,3"
|
|
|
|
+ Padding="0"
|
|
|
|
+ SnapsToDevicePixels="True"
|
|
|
|
+ Style="{StaticResource ForScrollViewer}">
|
|
|
|
+ <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Contained" />
|
|
|
|
+ </ScrollViewer>
|
|
|
|
+
|
|
|
|
+ <Grid.Effect>
|
|
|
|
+ <DropShadowEffect
|
|
|
|
+ BlurRadius="18"
|
|
|
|
+ Opacity="0.1"
|
|
|
|
+ ShadowDepth="5"
|
|
|
|
+ Color="#000000" />
|
|
|
|
+ </Grid.Effect>
|
|
|
|
+ </Grid>
|
|
|
|
+ </Popup>
|
|
|
|
+ </Grid>
|
|
|
|
+ </Border>
|
|
|
|
+ <ControlTemplate.Triggers>
|
|
|
|
+ <Trigger Property="IsMouseOver" Value="True">
|
|
|
|
+ <Setter TargetName="myBorder" Property="BorderBrush" Value="#3377FF" />
|
|
|
|
+ </Trigger>
|
|
|
|
+
|
|
|
|
+ <Trigger Property="HasItems" Value="false">
|
|
|
|
+ <Setter TargetName="DropDownBorder" Property="MinHeight" Value="95" />
|
|
|
|
+ </Trigger>
|
|
|
|
+ <Trigger Property="IsGrouping" Value="true">
|
|
|
|
+ <Setter Property="ScrollViewer.CanContentScroll" Value="false" />
|
|
|
|
+ </Trigger>
|
|
|
|
+ <Trigger SourceName="Popup" Property="AllowsTransparency" Value="true">
|
|
|
|
+ <Setter TargetName="DropDownBorder" Property="Margin" Value="0,4,0,0" />
|
|
|
|
+ </Trigger>
|
|
|
|
+ </ControlTemplate.Triggers>
|
|
|
|
+ </ControlTemplate>
|
|
|
|
+ </Setter.Value>
|
|
|
|
+ </Setter>
|
|
|
|
+ <Setter Property="ItemContainerStyle">
|
|
|
|
+ <Setter.Value>
|
|
|
|
+ <Style BasedOn="{StaticResource {x:Type ComboBoxItem}}" TargetType="ComboBoxItem">
|
|
|
|
+ <Setter Property="Foreground" Value="#3E434D" />
|
|
|
|
+ <Setter Property="Height" Value="36" />
|
|
|
|
+ <Setter Property="VerticalContentAlignment" Value="Center" />
|
|
|
|
+ <Setter Property="HorizontalContentAlignment" Value="Center" />
|
|
|
|
+ <Setter Property="Template">
|
|
|
|
+ <Setter.Value>
|
|
|
|
+ <ControlTemplate TargetType="ComboBoxItem">
|
|
|
|
+ <Border
|
|
|
|
+ x:Name="Border"
|
|
|
|
+ Height="{TemplateBinding Height}"
|
|
|
|
+ Background="Transparent"
|
|
|
|
+ SnapsToDevicePixels="true">
|
|
|
|
+ <ContentPresenter
|
|
|
|
+ HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
|
|
|
+ VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
|
|
|
|
+ Content="{TemplateBinding Content}"
|
|
|
|
+ ContentTemplate="{TemplateBinding ContentTemplate}" />
|
|
|
|
+ </Border>
|
|
|
|
+ <ControlTemplate.Triggers>
|
|
|
|
+ <Trigger Property="IsMouseOver" Value="True">
|
|
|
|
+ <Setter TargetName="Border" Property="Background" Value="#EAF1FF" />
|
|
|
|
+ </Trigger>
|
|
|
|
+ <Trigger Property="IsSelected" Value="True">
|
|
|
|
+ <Setter TargetName="Border" Property="Background" Value="#D6E4FF" />
|
|
|
|
+ </Trigger>
|
|
|
|
+ </ControlTemplate.Triggers>
|
|
|
|
+ </ControlTemplate>
|
|
|
|
+ </Setter.Value>
|
|
|
|
+ </Setter>
|
|
|
|
+ </Style>
|
|
|
|
+ </Setter.Value>
|
|
|
|
+ </Setter>
|
|
|
|
+ </Style>
|
|
|
|
+
|
|
|
|
+</ResourceDictionary>
|