389 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			389 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								<ResourceDictionary
							 | 
						||
| 
								 | 
							
								    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
							 | 
						||
| 
								 | 
							
								    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
							 | 
						||
| 
								 | 
							
								    xmlns:local="clr-namespace:SearchableComboBox"
							 | 
						||
| 
								 | 
							
								    xmlns:sys="clr-namespace:System;assembly=mscorlib"
							 | 
						||
| 
								 | 
							
								    xmlns:theme="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero2">
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <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" />
							 | 
						||
| 
								 | 
							
								    <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" StartPoint="0,0" EndPoint="0,1">
							 | 
						||
| 
								 | 
							
								        <GradientStop Offset="0.0" Color="#FFF0F0F0" />
							 | 
						||
| 
								 | 
							
								        <GradientStop Offset="1.0" Color="#FFE5E5E5" />
							 | 
						||
| 
								 | 
							
								    </LinearGradientBrush>
							 | 
						||
| 
								 | 
							
								    <SolidColorBrush x:Key="ComboBox.Static.Border" Color="#FFACACAC" />
							 | 
						||
| 
								 | 
							
								    <SolidColorBrush x:Key="ComboBox.Static.Glyph" Color="#FF606060" />
							 | 
						||
| 
								 | 
							
								    <SolidColorBrush x:Key="ComboBox.Static.Editable.Background" Color="#FFFFFFFF" />
							 | 
						||
| 
								 | 
							
								    <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="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>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            <TextBlock
							 | 
						||
| 
								 | 
							
								                x:Name="PlaceholderTextBlock"
							 | 
						||
| 
								 | 
							
								                Margin="{TemplateBinding Padding}"
							 | 
						||
| 
								 | 
							
								                HorizontalAlignment="Left"
							 | 
						||
| 
								 | 
							
								                VerticalAlignment="Center"
							 | 
						||
| 
								 | 
							
								                Panel.ZIndex="1"
							 | 
						||
| 
								 | 
							
								                Foreground="Gray"
							 | 
						||
| 
								 | 
							
								                IsHitTestVisible="False"
							 | 
						||
| 
								 | 
							
								                Style="{Binding PlaceholderStyle, RelativeSource={RelativeSource TemplatedParent}}"
							 | 
						||
| 
								 | 
							
								                Text="{Binding Placeholder, RelativeSource={RelativeSource TemplatedParent}, FallbackValue='Failed to Bind'}"
							 | 
						||
| 
								 | 
							
								                Visibility="Collapsed" />
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            <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"
							 | 
						||
| 
								 | 
							
								                    MinWidth="{Binding ActualWidth, ElementName=templateRoot}"
							 | 
						||
| 
								 | 
							
								                    MaxHeight="{TemplateBinding MaxDropDownHeight}"
							 | 
						||
| 
								 | 
							
								                    Color="Transparent">
							 | 
						||
| 
								 | 
							
								                    <Border
							 | 
						||
| 
								 | 
							
								                        x:Name="dropDownBorder"
							 | 
						||
| 
								 | 
							
								                        MinWidth="{Binding ActualWidth, ElementName=templateRoot}"
							 | 
						||
| 
								 | 
							
								                        MaxHeight="{TemplateBinding MaxDropDownHeight}"
							 | 
						||
| 
								 | 
							
								                        Background="White"
							 | 
						||
| 
								 | 
							
								                        CornerRadius="0">
							 | 
						||
| 
								 | 
							
								                        <Grid>
							 | 
						||
| 
								 | 
							
								                            <Grid.RowDefinitions>
							 | 
						||
| 
								 | 
							
								                                <RowDefinition Height="auto" />
							 | 
						||
| 
								 | 
							
								                                <RowDefinition Height="auto" />
							 | 
						||
| 
								 | 
							
								                                <RowDefinition Height="*" />
							 | 
						||
| 
								 | 
							
								                            </Grid.RowDefinitions>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                            <Grid Grid.Row="0" Visibility="{Binding IsSearchEnabled, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:SearchableComboBox}}, Converter={StaticResource BooleanToVisibilityConverter}}">
							 | 
						||
| 
								 | 
							
								                                <TextBox
							 | 
						||
| 
								 | 
							
								                                    x:Name="SearchTermTextBox"
							 | 
						||
| 
								 | 
							
								                                    Padding="5"
							 | 
						||
| 
								 | 
							
								                                    FontSize="12"
							 | 
						||
| 
								 | 
							
								                                    Foreground="Black"
							 | 
						||
| 
								 | 
							
								                                    Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:SearchableComboBox}}, Path=SearchTerm, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                                <TextBlock
							 | 
						||
| 
								 | 
							
								                                    Margin="6"
							 | 
						||
| 
								 | 
							
								                                    HorizontalAlignment="Left"
							 | 
						||
| 
								 | 
							
								                                    VerticalAlignment="Center"
							 | 
						||
| 
								 | 
							
								                                    Foreground="DarkGray"
							 | 
						||
| 
								 | 
							
								                                    Text="Search">
							 | 
						||
| 
								 | 
							
								                                    <TextBlock.Style>
							 | 
						||
| 
								 | 
							
								                                        <Style TargetType="{x:Type TextBlock}">
							 | 
						||
| 
								 | 
							
								                                            <Setter Property="Visibility" Value="Collapsed" />
							 | 
						||
| 
								 | 
							
								                                            <Style.Triggers>
							 | 
						||
| 
								 | 
							
								                                                <DataTrigger Binding="{Binding Text, ElementName=SearchTermTextBox}" Value="">
							 | 
						||
| 
								 | 
							
								                                                    <Setter Property="Visibility" Value="Visible" />
							 | 
						||
| 
								 | 
							
								                                                </DataTrigger>
							 | 
						||
| 
								 | 
							
								                                            </Style.Triggers>
							 | 
						||
| 
								 | 
							
								                                        </Style>
							 | 
						||
| 
								 | 
							
								                                    </TextBlock.Style>
							 | 
						||
| 
								 | 
							
								                                </TextBlock>
							 | 
						||
| 
								 | 
							
								                            </Grid>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                            <Border
							 | 
						||
| 
								 | 
							
								                                Grid.Row="1"
							 | 
						||
| 
								 | 
							
								                                Background="White"
							 | 
						||
| 
								 | 
							
								                                BorderBrush="Gray"
							 | 
						||
| 
								 | 
							
								                                BorderThickness="1">
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                                <Label
							 | 
						||
| 
								 | 
							
								                                    Margin="5"
							 | 
						||
| 
								 | 
							
								                                    HorizontalAlignment="Center"
							 | 
						||
| 
								 | 
							
								                                    Content="Not Found"
							 | 
						||
| 
								 | 
							
								                                    FontWeight="DemiBold"
							 | 
						||
| 
								 | 
							
								                                    Foreground="DarkGray"
							 | 
						||
| 
								 | 
							
								                                    Visibility="{Binding NotFoundLabelVisibility, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:SearchableComboBox}}}" />
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                            </Border>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                            <Border
							 | 
						||
| 
								 | 
							
								                                x:Name="dropDownBorder2"
							 | 
						||
| 
								 | 
							
								                                Grid.Row="2"
							 | 
						||
| 
								 | 
							
								                                Background="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"
							 | 
						||
| 
								 | 
							
								                                BorderBrush="{DynamicResource {x:Static SystemColors.WindowFrameBrushKey}}"
							 | 
						||
| 
								 | 
							
								                                BorderThickness="1"
							 | 
						||
| 
								 | 
							
								                                CornerRadius="0"
							 | 
						||
| 
								 | 
							
								                                Visibility="{Binding DropDownBorderVisibility, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type local:SearchableComboBox}}}">
							 | 
						||
| 
								 | 
							
								                                <ScrollViewer
							 | 
						||
| 
								 | 
							
								                                    x:Name="DropDownScrollViewer"
							 | 
						||
| 
								 | 
							
								                                    CanContentScroll="True"
							 | 
						||
| 
								 | 
							
								                                    VerticalScrollBarVisibility="auto">
							 | 
						||
| 
								 | 
							
								                                    <Grid x:Name="grid" RenderOptions.ClearTypeHint="Enabled">
							 | 
						||
| 
								 | 
							
								                                        <Canvas
							 | 
						||
| 
								 | 
							
								                                            x:Name="canvas"
							 | 
						||
| 
								 | 
							
								                                            Width="0"
							 | 
						||
| 
								 | 
							
								                                            Height="0"
							 | 
						||
| 
								 | 
							
								                                            HorizontalAlignment="Left"
							 | 
						||
| 
								 | 
							
								                                            VerticalAlignment="Top">
							 | 
						||
| 
								 | 
							
								                                            <Border
							 | 
						||
| 
								 | 
							
								                                                x:Name="opaqueRect"
							 | 
						||
| 
								 | 
							
								                                                Width="{Binding ActualWidth, ElementName=dropDownBorder}"
							 | 
						||
| 
								 | 
							
								                                                Height="{Binding ActualHeight, ElementName=dropDownBorder}"
							 | 
						||
| 
								 | 
							
								                                                Padding="10"
							 | 
						||
| 
								 | 
							
								                                                Background="Transparent"
							 | 
						||
| 
								 | 
							
								                                                CornerRadius="0" />
							 | 
						||
| 
								 | 
							
								                                        </Canvas>
							 | 
						||
| 
								 | 
							
								                                        <ItemsPresenter
							 | 
						||
| 
								 | 
							
								                                            x:Name="ItemsPresenter"
							 | 
						||
| 
								 | 
							
								                                            KeyboardNavigation.DirectionalNavigation="Contained"
							 | 
						||
| 
								 | 
							
								                                            SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
							 | 
						||
| 
								 | 
							
								                                    </Grid>
							 | 
						||
| 
								 | 
							
								                                </ScrollViewer>
							 | 
						||
| 
								 | 
							
								                            </Border>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                        </Grid>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    </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 TargetName="shadow" Property="Margin" Value="0,0,5,5" />
							 | 
						||
| 
								 | 
							
								                <Setter TargetName="shadow" Property="Color" Value="#71000000" />
							 | 
						||
| 
								 | 
							
								            </Trigger>
							 | 
						||
| 
								 | 
							
								            <Trigger Property="HasItems" Value="false">
							 | 
						||
| 
								 | 
							
								                <Setter TargetName="dropDownBorder2" Property="Height" 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 SourceName="DropDownScrollViewer" Property="ScrollViewer.CanContentScroll" Value="false">
							 | 
						||
| 
								 | 
							
								                <Setter TargetName="opaqueRect" Property="Canvas.Top" Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}" />
							 | 
						||
| 
								 | 
							
								                <Setter TargetName="opaqueRect" Property="Canvas.Left" Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}" />
							 | 
						||
| 
								 | 
							
								            </Trigger>
							 | 
						||
| 
								 | 
							
								        </ControlTemplate.Triggers>
							 | 
						||
| 
								 | 
							
								    </ControlTemplate>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    <Style TargetType="{x:Type local:SearchableComboBox}">
							 | 
						||
| 
								 | 
							
								        <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="BorderBrush" Value="Red"/>
							 | 
						||
| 
								 | 
							
								        <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>
							 | 
						||
| 
								 | 
							
								</ResourceDictionary>
							 |