512 lines
27 KiB
XML
512 lines
27 KiB
XML
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
|
|
|
<!-- xmlns:theme="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero" -->
|
|
<Style x:Key="FocusVisual">
|
|
<Setter Property="Control.Template">
|
|
<Setter.Value>
|
|
<ControlTemplate>
|
|
<Rectangle
|
|
Margin="2"
|
|
SnapsToDevicePixels="true"
|
|
Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"
|
|
StrokeDashArray="1 2"
|
|
StrokeThickness="1" />
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<!--<SolidColorBrush x:Key="TextBox.Static.Background" Color="#FFFFFFFF"/>-->
|
|
<SolidColorBrush x:Key="TextBox.Static.Background" Color="Transparent" />
|
|
<Style x:Key="ComboBoxEditableTextBox" TargetType="{x:Type TextBox}">
|
|
<Setter Property="OverridesDefaultStyle" Value="true" />
|
|
<Setter Property="AllowDrop" Value="true" />
|
|
<Setter Property="MinWidth" Value="0" />
|
|
<Setter Property="MinHeight" Value="0" />
|
|
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
|
|
<Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst" />
|
|
<Setter Property="Stylus.IsFlicksEnabled" Value="False" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type TextBox}">
|
|
<ScrollViewer
|
|
x:Name="PART_ContentHost"
|
|
Background="Transparent"
|
|
Focusable="false"
|
|
HorizontalScrollBarVisibility="Hidden"
|
|
VerticalScrollBarVisibility="Hidden" />
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<!--<LinearGradientBrush x:Key="ComboBox.Static.Background" EndPoint="0,1" StartPoint="0,0">
|
|
<GradientStop Color="#FFF0F0F0" Offset="0.0"/>
|
|
<GradientStop Color="#FFE5E5E5" Offset="1.0"/>
|
|
</LinearGradientBrush>-->
|
|
<SolidColorBrush x:Key="ComboBox.Static.Background" Color="Transparent" />
|
|
<SolidColorBrush x:Key="ComboBox.Static.Editable.Background" Color="Transparent" />
|
|
<SolidColorBrush x:Key="ComboBox.Static.Border" Color="#FFACACAC" />
|
|
<SolidColorBrush x:Key="ComboBox.Static.Glyph" Color="#FF606060" />
|
|
<SolidColorBrush x:Key="ComboBox.Static.Editable.Border" Color="#FFABADB3" />
|
|
<SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Background" Color="Transparent" />
|
|
<SolidColorBrush x:Key="ComboBox.Static.Editable.Button.Border" Color="Transparent" />
|
|
<LinearGradientBrush x:Key="ComboBox.MouseOver.Background" StartPoint="0,0" EndPoint="0,1">
|
|
<GradientStop Offset="0.0" Color="#FFECF4FC" />
|
|
<GradientStop Offset="1.0" Color="#FFDCECFC" />
|
|
</LinearGradientBrush>
|
|
<SolidColorBrush x:Key="ComboBox.MouseOver.Border" Color="#FF7EB4EA" />
|
|
<SolidColorBrush x:Key="ComboBox.MouseOver.Glyph" Color="#FF000000" />
|
|
<SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Background" Color="#FFFFFFFF" />
|
|
<SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Border" Color="#FF7EB4EA" />
|
|
<LinearGradientBrush x:Key="ComboBox.MouseOver.Editable.Button.Background" StartPoint="0,0" EndPoint="0,1">
|
|
<GradientStop Offset="0.0" Color="#FFEBF4FC" />
|
|
<GradientStop Offset="1.0" Color="#FFDCECFC" />
|
|
</LinearGradientBrush>
|
|
<SolidColorBrush x:Key="ComboBox.MouseOver.Editable.Button.Border" Color="#FF7EB4EA" />
|
|
<LinearGradientBrush x:Key="ComboBox.Pressed.Background" StartPoint="0,0" EndPoint="0,1">
|
|
<GradientStop Offset="0.0" Color="#FFDAECFC" />
|
|
<GradientStop Offset="1.0" Color="#FFC4E0FC" />
|
|
</LinearGradientBrush>
|
|
<SolidColorBrush x:Key="ComboBox.Pressed.Border" Color="#FF569DE5" />
|
|
<SolidColorBrush x:Key="ComboBox.Pressed.Glyph" Color="#FF000000" />
|
|
<SolidColorBrush x:Key="ComboBox.Pressed.Editable.Background" Color="#FFFFFFFF" />
|
|
<SolidColorBrush x:Key="ComboBox.Pressed.Editable.Border" Color="#FF569DE5" />
|
|
<LinearGradientBrush x:Key="ComboBox.Pressed.Editable.Button.Background" StartPoint="0,0" EndPoint="0,1">
|
|
<GradientStop Offset="0.0" Color="#FFDAEBFC" />
|
|
<GradientStop Offset="1.0" Color="#FFC4E0FC" />
|
|
</LinearGradientBrush>
|
|
<SolidColorBrush x:Key="ComboBox.Pressed.Editable.Button.Border" Color="#FF569DE5" />
|
|
<SolidColorBrush x:Key="ComboBox.Disabled.Background" Color="#FFF0F0F0" />
|
|
<SolidColorBrush x:Key="ComboBox.Disabled.Border" Color="#FFD9D9D9" />
|
|
<SolidColorBrush x:Key="ComboBox.Disabled.Glyph" Color="#FFBFBFBF" />
|
|
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Background" Color="#FFFFFFFF" />
|
|
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Border" Color="#FFBFBFBF" />
|
|
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Background" Color="Transparent" />
|
|
<SolidColorBrush x:Key="ComboBox.Disabled.Editable.Button.Border" Color="Transparent" />
|
|
<Style x:Key="ComboBoxToggleButton" TargetType="{x:Type ToggleButton}">
|
|
<Setter Property="OverridesDefaultStyle" Value="true" />
|
|
<Setter Property="IsTabStop" Value="false" />
|
|
<Setter Property="Focusable" Value="false" />
|
|
<Setter Property="ClickMode" Value="Press" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type ToggleButton}">
|
|
<Border
|
|
x:Name="templateRoot"
|
|
Background="{StaticResource ComboBox.Static.Background}"
|
|
BorderBrush="{StaticResource ComboBox.Static.Border}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
SnapsToDevicePixels="true">
|
|
<Border
|
|
x:Name="splitBorder"
|
|
Width="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}"
|
|
Margin="0"
|
|
HorizontalAlignment="Right"
|
|
BorderBrush="Transparent"
|
|
BorderThickness="1"
|
|
SnapsToDevicePixels="true">
|
|
<Path
|
|
x:Name="arrow"
|
|
Margin="0"
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
Data="F1 M 0,0 L 2.667,2.66665 L 5.3334,0 L 5.3334,-1.78168 L 2.6667,0.88501 L0,-1.78168 L0,0 Z"
|
|
Fill="{StaticResource ComboBox.Static.Glyph}" />
|
|
</Border>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="true" />
|
|
<Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="false" />
|
|
<Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}" Value="false" />
|
|
<Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}" Value="true" />
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter TargetName="templateRoot" Property="Background" Value="{StaticResource ComboBox.Static.Editable.Background}" />
|
|
<Setter TargetName="templateRoot" Property="BorderBrush" Value="{StaticResource ComboBox.Static.Editable.Border}" />
|
|
<Setter TargetName="splitBorder" Property="Background" Value="{StaticResource ComboBox.Static.Editable.Button.Background}" />
|
|
<Setter TargetName="splitBorder" Property="BorderBrush" Value="{StaticResource ComboBox.Static.Editable.Button.Border}" />
|
|
</MultiDataTrigger>
|
|
<Trigger Property="IsMouseOver" Value="true">
|
|
<Setter TargetName="arrow" Property="Fill" Value="{StaticResource ComboBox.MouseOver.Glyph}" />
|
|
</Trigger>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="true" />
|
|
<Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="false" />
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter TargetName="templateRoot" Property="Background" Value="{StaticResource ComboBox.MouseOver.Background}" />
|
|
<Setter TargetName="templateRoot" Property="BorderBrush" Value="{StaticResource ComboBox.MouseOver.Border}" />
|
|
</MultiDataTrigger>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="true" />
|
|
<Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="true" />
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter TargetName="templateRoot" Property="Background" Value="{StaticResource ComboBox.MouseOver.Editable.Background}" />
|
|
<Setter TargetName="templateRoot" Property="BorderBrush" Value="{StaticResource ComboBox.MouseOver.Editable.Border}" />
|
|
<Setter TargetName="splitBorder" Property="Background" Value="{StaticResource ComboBox.MouseOver.Editable.Button.Background}" />
|
|
<Setter TargetName="splitBorder" Property="BorderBrush" Value="{StaticResource ComboBox.MouseOver.Editable.Button.Border}" />
|
|
</MultiDataTrigger>
|
|
<Trigger Property="IsPressed" Value="true">
|
|
<Setter TargetName="arrow" Property="Fill" Value="{StaticResource ComboBox.Pressed.Glyph}" />
|
|
</Trigger>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}" Value="true" />
|
|
<Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="false" />
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter TargetName="templateRoot" Property="Background" Value="{StaticResource ComboBox.Pressed.Background}" />
|
|
<Setter TargetName="templateRoot" Property="BorderBrush" Value="{StaticResource ComboBox.Pressed.Border}" />
|
|
</MultiDataTrigger>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsPressed, RelativeSource={RelativeSource Self}}" Value="true" />
|
|
<Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="true" />
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter TargetName="templateRoot" Property="Background" Value="{StaticResource ComboBox.Pressed.Editable.Background}" />
|
|
<Setter TargetName="templateRoot" Property="BorderBrush" Value="{StaticResource ComboBox.Pressed.Editable.Border}" />
|
|
<Setter TargetName="splitBorder" Property="Background" Value="{StaticResource ComboBox.Pressed.Editable.Button.Background}" />
|
|
<Setter TargetName="splitBorder" Property="BorderBrush" Value="{StaticResource ComboBox.Pressed.Editable.Button.Border}" />
|
|
</MultiDataTrigger>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter TargetName="arrow" Property="Fill" Value="{StaticResource ComboBox.Disabled.Glyph}" />
|
|
</Trigger>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}" Value="false" />
|
|
<Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="false" />
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter TargetName="templateRoot" Property="Background" Value="{StaticResource ComboBox.Disabled.Background}" />
|
|
<Setter TargetName="templateRoot" Property="BorderBrush" Value="{StaticResource ComboBox.Disabled.Border}" />
|
|
</MultiDataTrigger>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}" Value="false" />
|
|
<Condition Binding="{Binding IsEditable, RelativeSource={RelativeSource AncestorType={x:Type ComboBox}}}" Value="true" />
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter TargetName="templateRoot" Property="Background" Value="{StaticResource ComboBox.Disabled.Editable.Background}" />
|
|
<Setter TargetName="templateRoot" Property="BorderBrush" Value="{StaticResource ComboBox.Disabled.Editable.Border}" />
|
|
<Setter TargetName="splitBorder" Property="Background" Value="{StaticResource ComboBox.Disabled.Editable.Button.Background}" />
|
|
<Setter TargetName="splitBorder" Property="BorderBrush" Value="{StaticResource ComboBox.Disabled.Editable.Button.Border}" />
|
|
</MultiDataTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<ControlTemplate x:Key="ComboBoxEditableTemplate" TargetType="{x:Type ComboBox}">
|
|
<Grid x:Name="templateRoot" SnapsToDevicePixels="true">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="0" MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" />
|
|
</Grid.ColumnDefinitions>
|
|
<!--<Popup x:Name="PART_Popup" AllowsTransparency="true" Grid.ColumnSpan="2" IsOpen="{Binding IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}" Placement="Bottom" PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}">
|
|
<theme:SystemDropShadowChrome x:Name="shadow" Color="Transparent" MinWidth="{Binding ActualWidth, ElementName=templateRoot}" MaxHeight="{TemplateBinding MaxDropDownHeight}">
|
|
<Border x:Name="dropDownBorder" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}" BorderThickness="1">
|
|
<ScrollViewer x:Name="DropDownScrollViewer">
|
|
<Grid x:Name="grid" RenderOptions.ClearTypeHint="Enabled">
|
|
<Canvas x:Name="canvas" HorizontalAlignment="Left" Height="0" VerticalAlignment="Top" Width="0">
|
|
<Rectangle x:Name="opaqueRect" Fill="{Binding Background, ElementName=dropDownBorder}" Height="{Binding ActualHeight, ElementName=dropDownBorder}" Width="{Binding ActualWidth, ElementName=dropDownBorder}"/>
|
|
</Canvas>
|
|
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
|
|
</Grid>
|
|
</ScrollViewer>
|
|
</Border>
|
|
</theme:SystemDropShadowChrome>
|
|
</Popup>-->
|
|
<ToggleButton
|
|
x:Name="toggleButton"
|
|
Grid.ColumnSpan="2"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
|
|
Style="{StaticResource ComboBoxToggleButton}" />
|
|
<Border
|
|
x:Name="border"
|
|
Margin="{TemplateBinding BorderThickness}"
|
|
Background="{StaticResource TextBox.Static.Background}">
|
|
<TextBox
|
|
x:Name="PART_EditableTextBox"
|
|
Margin="{TemplateBinding Padding}"
|
|
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
|
|
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
|
|
IsReadOnly="{Binding IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}"
|
|
Style="{StaticResource ComboBoxEditableTextBox}" />
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter TargetName="border" Property="Opacity" Value="0.56" />
|
|
</Trigger>
|
|
<Trigger Property="IsKeyboardFocusWithin" Value="true">
|
|
<Setter Property="Foreground" Value="Black" />
|
|
</Trigger>
|
|
<!--<Trigger Property="HasDropShadow" SourceName="PART_Popup" Value="true">
|
|
<Setter Property="Margin" TargetName="shadow" Value="0,0,5,5"/>
|
|
<Setter Property="Color" TargetName="shadow" Value="#71000000"/>
|
|
</Trigger>-->
|
|
<Trigger Property="HasItems" Value="false">
|
|
<!--<Setter Property="Height" TargetName="dropDownBorder" Value="95"/>-->
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsGrouping" Value="true" />
|
|
<Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping" Value="false" />
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="ScrollViewer.CanContentScroll" Value="false" />
|
|
</MultiTrigger>
|
|
<!--<Trigger Property="ScrollViewer.CanContentScroll" SourceName="DropDownScrollViewer" Value="false">
|
|
<Setter Property="Canvas.Top" TargetName="opaqueRect" Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}"/>
|
|
<Setter Property="Canvas.Left" TargetName="opaqueRect" Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}"/>
|
|
</Trigger>-->
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
<ControlTemplate x:Key="ComboBoxTemplate" TargetType="{x:Type ComboBox}">
|
|
<Grid x:Name="templateRoot" SnapsToDevicePixels="true">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="0" MinWidth="{DynamicResource {x:Static SystemParameters.VerticalScrollBarWidthKey}}" />
|
|
</Grid.ColumnDefinitions>
|
|
<Popup
|
|
x:Name="PART_Popup"
|
|
Grid.ColumnSpan="2"
|
|
Margin="1"
|
|
AllowsTransparency="true"
|
|
IsOpen="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
|
|
Placement="Bottom"
|
|
PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}">
|
|
<!--<theme:SystemDropShadowChrome x:Name="shadow" Color="Transparent" MinWidth="{Binding ActualWidth, ElementName=templateRoot}" MaxHeight="{TemplateBinding MaxDropDownHeight}">
|
|
<Border x:Name="dropDownBorder" Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}" BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}" BorderThickness="1">
|
|
<ScrollViewer x:Name="DropDownScrollViewer">
|
|
<Grid x:Name="grid" RenderOptions.ClearTypeHint="Enabled">
|
|
<Canvas x:Name="canvas" HorizontalAlignment="Left" Height="0" VerticalAlignment="Top" Width="0">
|
|
<Rectangle x:Name="opaqueRect" Fill="{Binding Background, ElementName=dropDownBorder}" Height="{Binding ActualHeight, ElementName=dropDownBorder}" Width="{Binding ActualWidth, ElementName=dropDownBorder}"/>
|
|
</Canvas>
|
|
<ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
|
|
</Grid>
|
|
</ScrollViewer>
|
|
</Border>
|
|
</theme:SystemDropShadowChrome>-->
|
|
</Popup>
|
|
<ToggleButton
|
|
x:Name="toggleButton"
|
|
Grid.ColumnSpan="2"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
|
|
Style="{StaticResource ComboBoxToggleButton}" />
|
|
<ContentPresenter
|
|
x:Name="contentPresenter"
|
|
Margin="{TemplateBinding Padding}"
|
|
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
|
|
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
|
|
Content="{TemplateBinding SelectionBoxItem}"
|
|
ContentStringFormat="{TemplateBinding SelectionBoxItemStringFormat}"
|
|
ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
|
|
ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
|
|
IsHitTestVisible="false"
|
|
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger SourceName="PART_Popup" Property="HasDropShadow" Value="true">
|
|
<!--<Setter Property="Margin" TargetName="shadow" Value="0,0,5,5"/>-->
|
|
<!--<Setter Property="Color" TargetName="shadow" Value="#71000000"/>-->
|
|
</Trigger>
|
|
<Trigger Property="HasItems" Value="false">
|
|
<!--<Setter Property="Height" TargetName="dropDownBorder" Value="95"/>-->
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsGrouping" Value="true" />
|
|
<Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping" Value="false" />
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="ScrollViewer.CanContentScroll" Value="false" />
|
|
</MultiTrigger>
|
|
<!--<Trigger Property="ScrollViewer.CanContentScroll" SourceName="DropDownScrollViewer" Value="false">
|
|
<Setter Property="Canvas.Top" TargetName="opaqueRect" Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}"/>
|
|
<Setter Property="Canvas.Left" TargetName="opaqueRect" Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}"/>
|
|
</Trigger>-->
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
<Style x:Key="BaseCrystalComboBoxStyle" TargetType="{x:Type ComboBox}">
|
|
<Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}" />
|
|
<Setter Property="Background" Value="{StaticResource ComboBox.Static.Background}" />
|
|
<Setter Property="BorderBrush" Value="{StaticResource ComboBox.Static.Border}" />
|
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.WindowTextBrushKey}}" />
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto" />
|
|
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" />
|
|
<Setter Property="Padding" Value="6,3,5,3" />
|
|
<Setter Property="ScrollViewer.CanContentScroll" Value="true" />
|
|
<Setter Property="ScrollViewer.PanningMode" Value="Both" />
|
|
<Setter Property="Stylus.IsFlicksEnabled" Value="False" />
|
|
<Setter Property="Template" Value="{StaticResource ComboBoxTemplate}" />
|
|
<Style.Triggers>
|
|
<Trigger Property="IsEditable" Value="true">
|
|
<Setter Property="IsTabStop" Value="false" />
|
|
<Setter Property="Padding" Value="2" />
|
|
<Setter Property="Template" Value="{StaticResource ComboBoxEditableTemplate}" />
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
<Style x:Key="BaseComboBoxStyle" TargetType="ComboBox">
|
|
<Setter Property="IsEditable" Value="True" />
|
|
<Setter Property="Background" Value="Transparent" />
|
|
<Setter Property="BorderBrush" Value="Transparent" />
|
|
<Setter Property="BorderThickness" Value="0" />
|
|
<Style.Triggers>
|
|
<Trigger Property="IsKeyboardFocusWithin" Value="True">
|
|
<Setter Property="BorderBrush" Value="Transparent" />
|
|
<Setter Property="BorderThickness" Value="0" />
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
|
|
|
|
<Style x:Key="RoundedComboBox" TargetType="{x:Type ComboBox}">
|
|
<Setter Property="Width" Value="auto" />
|
|
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
|
<Setter Property="BorderBrush" Value="{DynamicResource pageColorBrush}" />
|
|
<Setter Property="BorderThickness" Value="1" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type ComboBox}">
|
|
<Border
|
|
Background="Transparent"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
CornerRadius="4">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<!-- 下拉箭头 -->
|
|
<ToggleButton
|
|
Grid.Column="1"
|
|
Width="Auto"
|
|
MinWidth="0"
|
|
MinHeight="0"
|
|
Margin="2"
|
|
ClickMode="Press"
|
|
Cursor="Hand"
|
|
Focusable="False"
|
|
IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}">
|
|
<ToggleButton.Style>
|
|
<Style TargetType="{x:Type ToggleButton}">
|
|
<Setter Property="MinWidth" Value="0" />
|
|
<Setter Property="MinHeight" Value="0" />
|
|
<Setter Property="Width" Value="Auto" />
|
|
<Setter Property="Height" Value="Auto" />
|
|
<Setter Property="Background" Value="Transparent" />
|
|
<Setter Property="BorderBrush" Value="#00000000" />
|
|
<Setter Property="BorderThickness" Value="2" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type ToggleButton}">
|
|
<DockPanel
|
|
Background="{TemplateBinding Background}"
|
|
LastChildFill="False"
|
|
SnapsToDevicePixels="True">
|
|
<Border
|
|
x:Name="Border"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
DockPanel.Dock="Right">
|
|
<Path
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
Data="M0,0L3.5,4 7,0z"
|
|
Fill="{TemplateBinding Foreground}" />
|
|
</Border>
|
|
</DockPanel>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsChecked" Value="True" />
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Style.Triggers>
|
|
<Trigger Property="IsEnabled" Value="False">
|
|
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}" />
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</ToggleButton.Style>
|
|
</ToggleButton>
|
|
<!-- 项内容 -->
|
|
<ContentPresenter
|
|
Margin="3"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Center"
|
|
Content="{TemplateBinding SelectionBoxItem}"
|
|
ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
|
|
ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
|
|
IsHitTestVisible="False" />
|
|
<TextBox
|
|
x:Name="PART_EditableTextBox"
|
|
HorizontalAlignment="Stretch"
|
|
Focusable="True"
|
|
IsReadOnly="False"
|
|
Visibility="Collapsed" />
|
|
<!-- 下拉显示面板HorizontalOffset:设置下拉面板的相对位置 -->
|
|
<Popup
|
|
Width="{TemplateBinding ActualWidth}"
|
|
Focusable="False"
|
|
HorizontalOffset="-1"
|
|
IsOpen="{TemplateBinding IsDropDownOpen}"
|
|
PopupAnimation="Slide">
|
|
<Grid HorizontalAlignment="Stretch" SnapsToDevicePixels="True">
|
|
<Border
|
|
HorizontalAlignment="Stretch"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="1,1,1,1"
|
|
CornerRadius="0">
|
|
<Border.Background>
|
|
<SolidColorBrush Color="White" />
|
|
</Border.Background>
|
|
</Border>
|
|
<ScrollViewer HorizontalAlignment="Stretch" SnapsToDevicePixels="True">
|
|
<StackPanel
|
|
HorizontalAlignment="Stretch"
|
|
IsItemsHost="True"
|
|
KeyboardNavigation.DirectionalNavigation="Contained" />
|
|
</ScrollViewer>
|
|
</Grid>
|
|
</Popup>
|
|
</Grid>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
|
|
|
|
|
|
<ControlTemplate x:Key="ComboBoxTemplate1" TargetType="{x:Type ComboBox}">
|
|
<Border BorderBrush="Black" BorderThickness="1">
|
|
<ToggleButton x:Name="toggleButton" ClickMode="Press">
|
|
<!-- 自定义下拉按钮的外观 -->
|
|
<ToggleButton.Template>
|
|
<ControlTemplate TargetType="ToggleButton">
|
|
<Border
|
|
Padding="5"
|
|
Background="LightGray"
|
|
BorderBrush="Gray"
|
|
BorderThickness="1">
|
|
<Path
|
|
HorizontalAlignment="Right"
|
|
Data="M0,0 L8,8 16,0z"
|
|
Fill="Black" />
|
|
</Border>
|
|
</ControlTemplate>
|
|
</ToggleButton.Template>
|
|
</ToggleButton>
|
|
<!-- 省略其他部分以保持简洁 -->
|
|
</Border>
|
|
</ControlTemplate>
|
|
</ResourceDictionary> |