2 changed files with 290 additions and 279 deletions
@ -1,217 +1,227 @@ |
|||
<ResourceDictionary xmlns="https://github.com/avaloniaui" |
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> |
|||
<Design.PreviewWith> |
|||
<Border Padding="20"> |
|||
<StackPanel Spacing="10"> |
|||
<ComboBox PlaceholderText="Select an item"> |
|||
<ComboBoxItem>Item 1</ComboBoxItem> |
|||
<ComboBoxItem>Item 2</ComboBoxItem> |
|||
</ComboBox> |
|||
<ComboBox IsEnabled="False" |
|||
Width="200" |
|||
SelectedIndex="1" |
|||
HorizontalContentAlignment="Center"> |
|||
<ComboBoxItem>Item 1</ComboBoxItem> |
|||
<ComboBoxItem>Item 2</ComboBoxItem> |
|||
</ComboBox> |
|||
</StackPanel> |
|||
</Border> |
|||
</Design.PreviewWith> |
|||
|
|||
<Thickness x:Key="ComboBoxTopHeaderMargin">0,0,0,4</Thickness> |
|||
<x:Int32 x:Key="ComboBoxPopupMaxNumberOfItems">15</x:Int32> |
|||
<x:Int32 x:Key="ComboBoxPopupMaxNumberOfItemsThatCanBeShownOnOneSide">7</x:Int32> |
|||
|
|||
<Thickness x:Key="ComboBoxPadding">12,5,0,7</Thickness> |
|||
<Thickness x:Key="ComboBoxEditableTextPadding">11,5,32,6</Thickness> |
|||
<x:Double x:Key="ComboBoxMinHeight">32</x:Double> |
|||
|
|||
<ControlTheme x:Key="{x:Type ComboBox}" TargetType="ComboBox"> |
|||
<Setter Property="Padding" Value="{DynamicResource ComboBoxPadding}" /> |
|||
<Setter Property="FocusAdorner" Value="{x:Null}" /> |
|||
<Setter Property="MaxDropDownHeight" Value="504" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxForeground}" /> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxBackground}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxBorderBrush}" /> |
|||
<Setter Property="BorderThickness" Value="{DynamicResource ComboBoxBorderThemeThickness}" /> |
|||
<Setter Property="CornerRadius" Value="{DynamicResource ControlCornerRadius}" /> |
|||
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" /> |
|||
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" /> |
|||
<Setter Property="MinHeight" Value="{DynamicResource ComboBoxMinHeight}" /> |
|||
<Setter Property="HorizontalContentAlignment" Value="Stretch" /> |
|||
<Setter Property="VerticalContentAlignment" Value="Center" /> |
|||
<Setter Property="HorizontalAlignment" Value="Left" /> |
|||
<Setter Property="VerticalAlignment" Value="Top" /> |
|||
<Setter Property="FontSize" Value="{DynamicResource ControlContentThemeFontSize}" /> |
|||
<Setter Property="PlaceholderForeground" Value="{DynamicResource ComboBoxPlaceHolderForeground}" /> |
|||
<Setter Property="Template"> |
|||
<ControlTemplate> |
|||
<DataValidationErrors> |
|||
<Grid RowDefinitions="Auto, *, Auto" ColumnDefinitions="*,32"> |
|||
<ContentPresenter x:Name="HeaderContentPresenter" |
|||
Grid.Row="0" |
|||
Grid.Column="0" |
|||
Grid.ColumnSpan="2" |
|||
IsVisible="False" |
|||
FontWeight="{DynamicResource ComboBoxHeaderThemeFontWeight}" |
|||
Margin="{DynamicResource ComboBoxTopHeaderMargin}" |
|||
VerticalAlignment="Top" /> |
|||
<Border x:Name="Background" |
|||
Grid.Row="1" |
|||
Grid.Column="0" |
|||
Grid.ColumnSpan="2" |
|||
Background="{TemplateBinding Background}" |
|||
BorderBrush="{TemplateBinding BorderBrush}" |
|||
BorderThickness="{TemplateBinding BorderThickness}" |
|||
CornerRadius="{TemplateBinding CornerRadius}" |
|||
MinWidth="{DynamicResource ComboBoxThemeMinWidth}" /> |
|||
<Border x:Name="HighlightBackground" |
|||
Grid.Row="1" |
|||
Grid.Column="0" |
|||
Grid.ColumnSpan="2" |
|||
Background="{DynamicResource ComboBoxBackgroundUnfocused}" |
|||
BorderBrush="{DynamicResource ComboBoxBackgroundBorderBrushUnfocused}" |
|||
BorderThickness="{TemplateBinding BorderThickness}" |
|||
CornerRadius="{TemplateBinding CornerRadius}" |
|||
IsVisible="False"/> |
|||
<TextBlock x:Name="PlaceholderTextBlock" |
|||
Grid.Row="1" |
|||
Grid.Column="0" |
|||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" |
|||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" |
|||
Margin="{TemplateBinding Padding}" |
|||
Text="{TemplateBinding PlaceholderText}" |
|||
Foreground="{TemplateBinding PlaceholderForeground}" |
|||
IsVisible="{TemplateBinding SelectionBoxItem, Converter={x:Static ObjectConverters.IsNull}}" /> |
|||
<ContentControl x:Name="ContentPresenter" |
|||
Content="{TemplateBinding SelectionBoxItem}" |
|||
ContentTemplate="{TemplateBinding ItemTemplate}" |
|||
Grid.Row="1" |
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
|||
xmlns:sys="clr-namespace:System;assembly=netstandard"> |
|||
<Design.PreviewWith> |
|||
<Border Padding="20"> |
|||
<StackPanel Spacing="10"> |
|||
<ComboBox PlaceholderText="Select an item"> |
|||
<ComboBoxItem>Item 1</ComboBoxItem> |
|||
<ComboBoxItem>Item 2</ComboBoxItem> |
|||
</ComboBox> |
|||
<ComboBox IsEnabled="False" |
|||
Width="200" |
|||
SelectedIndex="1" |
|||
HorizontalContentAlignment="Center"> |
|||
<ComboBoxItem>Item 1</ComboBoxItem> |
|||
<ComboBoxItem>Item 2</ComboBoxItem> |
|||
</ComboBox> |
|||
<ComboBox PlaceholderText="Error"> |
|||
<DataValidationErrors.Error> |
|||
<sys:Exception> |
|||
<x:Arguments> |
|||
<x:String>Error</x:String> |
|||
</x:Arguments> |
|||
</sys:Exception> |
|||
</DataValidationErrors.Error> |
|||
</ComboBox> |
|||
</StackPanel> |
|||
</Border> |
|||
</Design.PreviewWith> |
|||
|
|||
<Thickness x:Key="ComboBoxTopHeaderMargin">0,0,0,4</Thickness> |
|||
<x:Int32 x:Key="ComboBoxPopupMaxNumberOfItems">15</x:Int32> |
|||
<x:Int32 x:Key="ComboBoxPopupMaxNumberOfItemsThatCanBeShownOnOneSide">7</x:Int32> |
|||
|
|||
<Thickness x:Key="ComboBoxPadding">12,5,0,7</Thickness> |
|||
<Thickness x:Key="ComboBoxEditableTextPadding">11,5,32,6</Thickness> |
|||
<x:Double x:Key="ComboBoxMinHeight">32</x:Double> |
|||
|
|||
<ControlTheme x:Key="{x:Type ComboBox}" TargetType="ComboBox"> |
|||
<Setter Property="Padding" Value="{DynamicResource ComboBoxPadding}" /> |
|||
<Setter Property="FocusAdorner" Value="{x:Null}" /> |
|||
<Setter Property="MaxDropDownHeight" Value="504" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxForeground}" /> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxBackground}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxBorderBrush}" /> |
|||
<Setter Property="BorderThickness" Value="{DynamicResource ComboBoxBorderThemeThickness}" /> |
|||
<Setter Property="CornerRadius" Value="{DynamicResource ControlCornerRadius}" /> |
|||
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Disabled" /> |
|||
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto" /> |
|||
<Setter Property="MinHeight" Value="{DynamicResource ComboBoxMinHeight}" /> |
|||
<Setter Property="HorizontalContentAlignment" Value="Stretch" /> |
|||
<Setter Property="VerticalContentAlignment" Value="Center" /> |
|||
<Setter Property="HorizontalAlignment" Value="Left" /> |
|||
<Setter Property="VerticalAlignment" Value="Top" /> |
|||
<Setter Property="FontSize" Value="{DynamicResource ControlContentThemeFontSize}" /> |
|||
<Setter Property="PlaceholderForeground" Value="{DynamicResource ComboBoxPlaceHolderForeground}" /> |
|||
<Setter Property="Template"> |
|||
<ControlTemplate> |
|||
<DataValidationErrors> |
|||
<Grid RowDefinitions="Auto, *, Auto" ColumnDefinitions="*,32"> |
|||
<ContentPresenter x:Name="HeaderContentPresenter" |
|||
Grid.Row="0" |
|||
Grid.Column="0" |
|||
Margin="{TemplateBinding Padding}" |
|||
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" |
|||
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" /> |
|||
|
|||
<Border x:Name="DropDownOverlay" |
|||
Grid.ColumnSpan="2" |
|||
IsVisible="False" |
|||
FontWeight="{DynamicResource ComboBoxHeaderThemeFontWeight}" |
|||
Margin="{DynamicResource ComboBoxTopHeaderMargin}" |
|||
VerticalAlignment="Top" /> |
|||
<Border x:Name="Background" |
|||
Grid.Row="1" |
|||
Grid.Column="0" |
|||
Grid.ColumnSpan="2" |
|||
Background="{TemplateBinding Background}" |
|||
BorderBrush="{TemplateBinding BorderBrush}" |
|||
BorderThickness="{TemplateBinding BorderThickness}" |
|||
CornerRadius="{TemplateBinding CornerRadius}" |
|||
MinWidth="{DynamicResource ComboBoxThemeMinWidth}" /> |
|||
<Border x:Name="HighlightBackground" |
|||
Grid.Row="1" |
|||
Grid.Column="0" |
|||
Grid.ColumnSpan="2" |
|||
Background="{DynamicResource ComboBoxBackgroundUnfocused}" |
|||
BorderBrush="{DynamicResource ComboBoxBackgroundBorderBrushUnfocused}" |
|||
BorderThickness="{TemplateBinding BorderThickness}" |
|||
CornerRadius="{TemplateBinding CornerRadius}" |
|||
IsVisible="False"/> |
|||
<TextBlock x:Name="PlaceholderTextBlock" |
|||
Grid.Row="1" |
|||
Grid.Column="0" |
|||
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" |
|||
VerticalAlignment="{TemplateBinding VerticalContentAlignment}" |
|||
Margin="{TemplateBinding Padding}" |
|||
Text="{TemplateBinding PlaceholderText}" |
|||
Foreground="{TemplateBinding PlaceholderForeground}" |
|||
IsVisible="{TemplateBinding SelectionBoxItem, Converter={x:Static ObjectConverters.IsNull}}" /> |
|||
<ContentControl x:Name="ContentPresenter" |
|||
Content="{TemplateBinding SelectionBoxItem}" |
|||
ContentTemplate="{TemplateBinding ItemTemplate}" |
|||
Grid.Row="1" |
|||
Grid.Column="0" |
|||
Margin="{TemplateBinding Padding}" |
|||
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" |
|||
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" /> |
|||
|
|||
<Border x:Name="DropDownOverlay" |
|||
Grid.Row="1" |
|||
Grid.Column="1" |
|||
Background="Transparent" |
|||
Margin="0,1,1,1" |
|||
Width="30" |
|||
IsVisible="False" |
|||
HorizontalAlignment="Right" /> |
|||
|
|||
<PathIcon x:Name="DropDownGlyph" |
|||
Grid.Row="1" |
|||
Grid.Column="1" |
|||
Background="Transparent" |
|||
Margin="0,1,1,1" |
|||
Width="30" |
|||
IsVisible="False" |
|||
HorizontalAlignment="Right" /> |
|||
|
|||
<PathIcon x:Name="DropDownGlyph" |
|||
Grid.Row="1" |
|||
Grid.Column="1" |
|||
UseLayoutRounding="False" |
|||
IsHitTestVisible="False" |
|||
Height="12" |
|||
Width="12" |
|||
Margin="0,0,10,0" |
|||
HorizontalAlignment="Right" |
|||
VerticalAlignment="Center" |
|||
Foreground="{DynamicResource ComboBoxDropDownGlyphForeground}" |
|||
Data="M1939 486L2029 576L1024 1581L19 576L109 486L1024 1401L1939 486Z"/> |
|||
|
|||
<Popup Name="PART_Popup" |
|||
WindowManagerAddShadowHint="False" |
|||
IsOpen="{TemplateBinding IsDropDownOpen, Mode=TwoWay}" |
|||
MinWidth="{Binding Bounds.Width, RelativeSource={RelativeSource TemplatedParent}}" |
|||
MaxHeight="{TemplateBinding MaxDropDownHeight}" |
|||
PlacementTarget="Background" |
|||
IsLightDismissEnabled="True" |
|||
InheritsTransform="True"> |
|||
<Border x:Name="PopupBorder" |
|||
Background="{DynamicResource ComboBoxDropDownBackground}" |
|||
BorderBrush="{DynamicResource ComboBoxDropDownBorderBrush}" |
|||
BorderThickness="{DynamicResource ComboBoxDropdownBorderThickness}" |
|||
Margin="0,-1,0,-1" |
|||
Padding="{DynamicResource ComboBoxDropdownBorderPadding}" |
|||
HorizontalAlignment="Stretch" |
|||
CornerRadius="{DynamicResource OverlayCornerRadius}"> |
|||
<ScrollViewer HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" |
|||
VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}"> |
|||
<ItemsPresenter Name="PART_ItemsPresenter" |
|||
Items="{TemplateBinding Items}" |
|||
Margin="{DynamicResource ComboBoxDropdownContentMargin}" |
|||
ItemsPanel="{TemplateBinding ItemsPanel}" |
|||
ItemTemplate="{TemplateBinding ItemTemplate}" |
|||
VirtualizationMode="{TemplateBinding VirtualizationMode}" /> |
|||
</ScrollViewer> |
|||
</Border> |
|||
</Popup> |
|||
</Grid> |
|||
</DataValidationErrors> |
|||
</ControlTemplate> |
|||
</Setter> |
|||
UseLayoutRounding="False" |
|||
IsHitTestVisible="False" |
|||
Height="12" |
|||
Width="12" |
|||
Margin="0,0,10,0" |
|||
HorizontalAlignment="Right" |
|||
VerticalAlignment="Center" |
|||
Foreground="{DynamicResource ComboBoxDropDownGlyphForeground}" |
|||
Data="M1939 486L2029 576L1024 1581L19 576L109 486L1024 1401L1939 486Z"/> |
|||
|
|||
<Popup Name="PART_Popup" |
|||
WindowManagerAddShadowHint="False" |
|||
IsOpen="{TemplateBinding IsDropDownOpen, Mode=TwoWay}" |
|||
MinWidth="{Binding Bounds.Width, RelativeSource={RelativeSource TemplatedParent}}" |
|||
MaxHeight="{TemplateBinding MaxDropDownHeight}" |
|||
PlacementTarget="Background" |
|||
IsLightDismissEnabled="True" |
|||
InheritsTransform="True"> |
|||
<Border x:Name="PopupBorder" |
|||
Background="{DynamicResource ComboBoxDropDownBackground}" |
|||
BorderBrush="{DynamicResource ComboBoxDropDownBorderBrush}" |
|||
BorderThickness="{DynamicResource ComboBoxDropdownBorderThickness}" |
|||
Margin="0,-1,0,-1" |
|||
Padding="{DynamicResource ComboBoxDropdownBorderPadding}" |
|||
HorizontalAlignment="Stretch" |
|||
CornerRadius="{DynamicResource OverlayCornerRadius}"> |
|||
<ScrollViewer HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" |
|||
VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}"> |
|||
<ItemsPresenter Name="PART_ItemsPresenter" |
|||
Items="{TemplateBinding Items}" |
|||
Margin="{DynamicResource ComboBoxDropdownContentMargin}" |
|||
ItemsPanel="{TemplateBinding ItemsPanel}" |
|||
ItemTemplate="{TemplateBinding ItemTemplate}" |
|||
VirtualizationMode="{TemplateBinding VirtualizationMode}" /> |
|||
</ScrollViewer> |
|||
</Border> |
|||
</Popup> |
|||
</Grid> |
|||
</DataValidationErrors> |
|||
</ControlTemplate> |
|||
</Setter> |
|||
|
|||
<!-- PointerOver State --> |
|||
<Style Selector="^:pointerover /template/ Border#Background"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxBackgroundPointerOver}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxBorderBrushPointerOver}" /> |
|||
</Style> |
|||
|
|||
<!-- Pressed State --> |
|||
<Style Selector="^:pressed /template/ Border#Background"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxBackgroundPressed}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxBorderBrushPressed}" /> |
|||
</Style> |
|||
|
|||
<!-- PointerOver State --> |
|||
<Style Selector="^:pointerover /template/ Border#Background"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxBackgroundPointerOver}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxBorderBrushPointerOver}" /> |
|||
<!-- Error State --> |
|||
<Style Selector="^:error /template/ Border#Background"> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource SystemControlErrorTextForegroundBrush}" /> |
|||
</Style> |
|||
|
|||
<!-- Focus Pressed State --> |
|||
<Style Selector="^:focused:pressed"> |
|||
<Style Selector="^ /template/ ContentControl#ContentPresenter"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxForegroundFocusedPressed}" /> |
|||
</Style> |
|||
|
|||
<!-- Pressed State --> |
|||
<Style Selector="^:pressed /template/ Border#Background"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxBackgroundPressed}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxBorderBrushPressed}" /> |
|||
<Style Selector="^ /template/ TextBlock#PlaceholderTextBlock"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxPlaceHolderForegroundFocusedPressed}" /> |
|||
</Style> |
|||
|
|||
<!-- Error State --> |
|||
<Style Selector="^:error /template/ Border#Background"> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource SystemControlErrorTextForegroundBrush}" /> |
|||
<Style Selector="^ /template/ PathIcon#DropDownGlyph"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxDropDownGlyphForegroundFocusedPressed}" /> |
|||
</Style> |
|||
</Style> |
|||
|
|||
<!-- Focus Pressed State --> |
|||
<Style Selector="^:focused:pressed"> |
|||
<Style Selector="^ /template/ ContentControl#ContentPresenter"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxForegroundFocusedPressed}" /> |
|||
</Style> |
|||
<Style Selector="^ /template/ TextBlock#PlaceholderTextBlock"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxPlaceHolderForegroundFocusedPressed}" /> |
|||
</Style> |
|||
<Style Selector="^ /template/ PathIcon#DropDownGlyph"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxDropDownGlyphForegroundFocusedPressed}" /> |
|||
</Style> |
|||
<!-- Focused State --> |
|||
<Style Selector="^:focus-visible"> |
|||
<Style Selector="^ /template/ Border#HighlightBackground"> |
|||
<Setter Property="IsVisible" Value="True" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxBackgroundBorderBrushFocused}" /> |
|||
</Style> |
|||
|
|||
<!-- Focused State --> |
|||
<Style Selector="^:focus-visible"> |
|||
<Style Selector="^ /template/ Border#HighlightBackground"> |
|||
<Setter Property="IsVisible" Value="True" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxBackgroundBorderBrushFocused}" /> |
|||
</Style> |
|||
<Style Selector="^ /template/ ContentControl#ContentPresenter"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxForegroundFocused}" /> |
|||
</Style> |
|||
<Style Selector="^ /template/ TextBlock#PlaceholderTextBlock"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxForegroundFocused}" /> |
|||
</Style> |
|||
<Style Selector="^ /template/ PathIcon#DropDownGlyph"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxDropDownGlyphForegroundFocused}" /> |
|||
</Style> |
|||
<Style Selector="^ /template/ ContentControl#ContentPresenter"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxForegroundFocused}" /> |
|||
</Style> |
|||
<Style Selector="^ /template/ TextBlock#PlaceholderTextBlock"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxForegroundFocused}" /> |
|||
</Style> |
|||
<Style Selector="^ /template/ PathIcon#DropDownGlyph"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxDropDownGlyphForegroundFocused}" /> |
|||
</Style> |
|||
</Style> |
|||
|
|||
<!-- Disabled State --> |
|||
<Style Selector="^:disabled"> |
|||
<Style Selector="^ /template/ Border#Background"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxBackgroundDisabled}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxBorderBrushDisabled}" /> |
|||
</Style> |
|||
<Style Selector="^ /template/ ContentPresenter#HeaderContentPresenter"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxForegroundDisabled}" /> |
|||
</Style> |
|||
<Style Selector="^ /template/ ContentControl#ContentPresenter"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxForegroundDisabled}" /> |
|||
</Style> |
|||
<Style Selector="^ /template/ TextBlock#PlaceholderTextBlock"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxForegroundDisabled}" /> |
|||
</Style> |
|||
<Style Selector="^ /template/ PathIcon#DropDownGlyph"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxDropDownGlyphForegroundDisabled}" /> |
|||
</Style> |
|||
<!-- Disabled State --> |
|||
<Style Selector="^:disabled"> |
|||
<Style Selector="^ /template/ Border#Background"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxBackgroundDisabled}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxBorderBrushDisabled}" /> |
|||
</Style> |
|||
<Style Selector="^ /template/ ContentPresenter#HeaderContentPresenter"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxForegroundDisabled}" /> |
|||
</Style> |
|||
</ControlTheme> |
|||
|
|||
<Style Selector="^ /template/ ContentControl#ContentPresenter"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxForegroundDisabled}" /> |
|||
</Style> |
|||
<Style Selector="^ /template/ TextBlock#PlaceholderTextBlock"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxForegroundDisabled}" /> |
|||
</Style> |
|||
<Style Selector="^ /template/ PathIcon#DropDownGlyph"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxDropDownGlyphForegroundDisabled}" /> |
|||
</Style> |
|||
</Style> |
|||
</ControlTheme> |
|||
|
|||
</ResourceDictionary> |
|||
|
|||
@ -1,85 +1,86 @@ |
|||
<ResourceDictionary xmlns="https://github.com/avaloniaui" |
|||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> |
|||
<Design.PreviewWith> |
|||
<Border Padding="20"> |
|||
<Border Background="{DynamicResource ComboBoxDropDownBackground}" BorderBrush="{DynamicResource ComboBoxDropDownBorderBrush}" BorderThickness="{DynamicResource ComboBoxDropdownBorderThickness}" Margin="0,-1,0,-1" Padding="{DynamicResource ComboBoxDropdownBorderPadding}" CornerRadius="{DynamicResource OverlayCornerRadius}"> |
|||
<StackPanel HorizontalAlignment="Stretch"> |
|||
<ComboBoxItem>Item 1</ComboBoxItem> |
|||
<ComboBoxItem>Item 2 long</ComboBoxItem> |
|||
<ComboBoxItem IsSelected="True">Item 3</ComboBoxItem> |
|||
<ComboBoxItem IsEnabled="False">Item 4</ComboBoxItem> |
|||
</StackPanel> |
|||
</Border> |
|||
<Design.PreviewWith> |
|||
<Border Padding="20"> |
|||
<Border Background="{DynamicResource ComboBoxDropDownBackground}" BorderBrush="{DynamicResource ComboBoxDropDownBorderBrush}" BorderThickness="{DynamicResource ComboBoxDropdownBorderThickness}" Margin="0,-1,0,-1" Padding="{DynamicResource ComboBoxDropdownBorderPadding}" CornerRadius="{DynamicResource OverlayCornerRadius}"> |
|||
<StackPanel HorizontalAlignment="Stretch"> |
|||
<ComboBoxItem>Item 1</ComboBoxItem> |
|||
<ComboBoxItem>Item 2 long</ComboBoxItem> |
|||
<ComboBoxItem IsSelected="True">Item 3</ComboBoxItem> |
|||
<ComboBoxItem IsEnabled="False">Item 4</ComboBoxItem> |
|||
<ComboBoxItem IsSelected="True" IsEnabled="False">Item 5</ComboBoxItem> |
|||
</StackPanel> |
|||
</Border> |
|||
</Design.PreviewWith> |
|||
|
|||
<ControlTheme x:Key="{x:Type ComboBoxItem}" TargetType="ComboBoxItem"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForeground}" /> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackground}" /> |
|||
<Setter Property="Padding" Value="{DynamicResource ComboBoxItemThemePadding}" /> |
|||
<Setter Property="HorizontalContentAlignment" Value="Stretch" /> |
|||
<Setter Property="Template"> |
|||
<ControlTemplate> |
|||
<ContentPresenter Name="PART_ContentPresenter" |
|||
Foreground="{TemplateBinding Foreground}" |
|||
Background="{TemplateBinding Background}" |
|||
BorderBrush="{TemplateBinding BorderBrush}" |
|||
BorderThickness="{TemplateBinding BorderThickness}" |
|||
CornerRadius="{TemplateBinding CornerRadius}" |
|||
ContentTemplate="{TemplateBinding ContentTemplate}" |
|||
Content="{TemplateBinding Content}" |
|||
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" |
|||
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" |
|||
Padding="{TemplateBinding Padding}" /> |
|||
</ControlTemplate> |
|||
</Setter> |
|||
|
|||
<!-- PointerOver state --> |
|||
<Style Selector="^:pointerover /template/ ContentPresenter"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundPointerOver}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushPointerOver}" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundPointerOver}" /> |
|||
</Border> |
|||
</Design.PreviewWith> |
|||
|
|||
<ControlTheme x:Key="{x:Type ComboBoxItem}" TargetType="ComboBoxItem"> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForeground}" /> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackground}" /> |
|||
<Setter Property="Padding" Value="{DynamicResource ComboBoxItemThemePadding}" /> |
|||
<Setter Property="HorizontalContentAlignment" Value="Stretch" /> |
|||
<Setter Property="Template"> |
|||
<ControlTemplate> |
|||
<ContentPresenter Name="PART_ContentPresenter" |
|||
Foreground="{TemplateBinding Foreground}" |
|||
Background="{TemplateBinding Background}" |
|||
BorderBrush="{TemplateBinding BorderBrush}" |
|||
BorderThickness="{TemplateBinding BorderThickness}" |
|||
CornerRadius="{TemplateBinding CornerRadius}" |
|||
ContentTemplate="{TemplateBinding ContentTemplate}" |
|||
Content="{TemplateBinding Content}" |
|||
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" |
|||
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" |
|||
Padding="{TemplateBinding Padding}" /> |
|||
</ControlTemplate> |
|||
</Setter> |
|||
|
|||
<!-- PointerOver state --> |
|||
<Style Selector="^:pointerover /template/ ContentPresenter"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundPointerOver}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushPointerOver}" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundPointerOver}" /> |
|||
</Style> |
|||
|
|||
<!-- Disabled state --> |
|||
<Style Selector="^:disabled /template/ ContentPresenter"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundDisabled}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushDisabled}" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundDisabled}" /> |
|||
</Style> |
|||
|
|||
<!-- Pressed state --> |
|||
<Style Selector="^:pressed /template/ ContentPresenter"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundPressed}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushPressed}" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundPressed}" /> |
|||
</Style> |
|||
|
|||
<!-- Selected state --> |
|||
<Style Selector="^:selected"> |
|||
<Style Selector="^ /template/ ContentPresenter"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundSelected}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushSelected}" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundSelected}" /> |
|||
</Style> |
|||
|
|||
<!-- Disabled state --> |
|||
<!-- Selected Disabled state --> |
|||
<Style Selector="^:disabled /template/ ContentPresenter"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundDisabled}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushDisabled}" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundDisabled}" /> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundSelectedDisabled}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushSelectedDisabled}" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundSelectedDisabled}" /> |
|||
</Style> |
|||
|
|||
<!-- Pressed state --> |
|||
<Style Selector="^:pressed /template/ ContentPresenter"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundPressed}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushPressed}" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundPressed}" /> |
|||
<!-- Selected PointerOver state --> |
|||
<Style Selector="^:pointerover /template/ ContentPresenter"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundSelectedPointerOver}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushSelectedPointerOver}" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundSelectedPointerOver}" /> |
|||
</Style> |
|||
|
|||
<!-- Selected state --> |
|||
<Style Selector="^:selected"> |
|||
<Style Selector="^ /template/ ContentPresenter"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundSelected}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushSelected}" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundSelected}" /> |
|||
</Style> |
|||
<!-- Selected Disabled state --> |
|||
<Style Selector="^:disabled /template/ ContentPresenter"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundSelectedDisabled}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushSelectedDisabled}" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundSelectedDisabled}" /> |
|||
</Style> |
|||
<!-- Selected PointerOver state --> |
|||
<Style Selector="^:pointerover /template/ ContentPresenter"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundSelectedPointerOver}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushSelectedPointerOver}" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundSelectedPointerOver}" /> |
|||
</Style> |
|||
<!-- Selected Pressed state --> |
|||
<Style Selector="^:pressed /template/ ContentPresenter"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundSelectedPressed}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushSelectedPressed}" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundSelectedPressed}" /> |
|||
</Style> |
|||
<!-- Selected Pressed state --> |
|||
<Style Selector="^:pressed /template/ ContentPresenter"> |
|||
<Setter Property="Background" Value="{DynamicResource ComboBoxItemBackgroundSelectedPressed}" /> |
|||
<Setter Property="BorderBrush" Value="{DynamicResource ComboBoxItemBorderBrushSelectedPressed}" /> |
|||
<Setter Property="Foreground" Value="{DynamicResource ComboBoxItemForegroundSelectedPressed}" /> |
|||
</Style> |
|||
</ControlTheme> |
|||
</Style> |
|||
</ControlTheme> |
|||
</ResourceDictionary> |
|||
|
|||
Loading…
Reference in new issue