86 lines
4.6 KiB
XML
86 lines
4.6 KiB
XML
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
|
|
|
<ControlTemplate x:Key="ComboBoxToggleButton"
|
|
TargetType="{x:Type ToggleButton}">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition />
|
|
<ColumnDefinition Width="20" />
|
|
</Grid.ColumnDefinitions>
|
|
<Border x:Name="Border" Grid.ColumnSpan="2" CornerRadius="3" BorderThickness="1" BorderBrush="#EEE"
|
|
Background="#FFF"/>
|
|
<Path x:Name="Arrow" Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"
|
|
Data="M 0 0 L 4 4 L 8 0 Z" Fill="#888">
|
|
</Path>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="Border" Property="Background" Value="#EEE"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
|
|
<ControlTemplate x:Key="ComboBoxTextBox"
|
|
TargetType="{x:Type TextBox}">
|
|
<Border x:Name="PART_ContentHost"
|
|
Focusable="False"
|
|
Background="{TemplateBinding Background}" />
|
|
</ControlTemplate>
|
|
|
|
<Style TargetType="ComboBox" x:Key="PropComboBoxStyle">
|
|
<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="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type ComboBox}">
|
|
<Grid>
|
|
<ToggleButton x:Name="ToggleButton" Template="{StaticResource ComboBoxToggleButton}"
|
|
Focusable="false"
|
|
ClickMode="Press"
|
|
IsChecked="{Binding IsDropDownOpen, Mode=TwoWay,
|
|
RelativeSource={RelativeSource TemplatedParent}}"/>
|
|
<ContentPresenter x:Name="ContentSite"
|
|
IsHitTestVisible="False"
|
|
Content="{TemplateBinding SelectionBoxItem}"
|
|
ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
|
|
ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}"
|
|
Margin="5,3"
|
|
VerticalAlignment="Center"
|
|
HorizontalAlignment="Left">
|
|
</ContentPresenter>
|
|
<Popup x:Name="Popup" Placement="Bottom" IsOpen="{TemplateBinding IsDropDownOpen}"
|
|
AllowsTransparency="True" Focusable="False" PopupAnimation="Slide">
|
|
<Grid x:Name="DropDown" SnapsToDevicePixels="True" MinWidth="{TemplateBinding ActualWidth}"
|
|
MaxHeight="{TemplateBinding MaxDropDownHeight}">
|
|
<Border x:Name="DropDownBorder" BorderThickness="1" BorderBrush="#FF888888" Background="White">
|
|
</Border>
|
|
<ScrollViewer Margin="4,6,4,6" SnapsToDevicePixels="True">
|
|
<StackPanel IsItemsHost="True"
|
|
KeyboardNavigation.DirectionalNavigation="Contained" />
|
|
</ScrollViewer>
|
|
</Grid>
|
|
</Popup>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<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="CornerRadius" Value="4" />
|
|
<Setter TargetName="DropDownBorder" Property="Margin" Value="0,2,0,0" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
|
|
</ResourceDictionary> |