feat: add avalonia extend ComboBox style.
This commit is contained in:
1 parent
94ee336714
commit
aa4fa95ab1
1 file changed
+86
-40
@@ -212,9 +212,9 @@
|
|||||||
Text="{Binding Path=(hc:TitleElement.Title), RelativeSource={RelativeSource TemplatedParent}}" />
|
Text="{Binding Path=(hc:TitleElement.Title), RelativeSource={RelativeSource TemplatedParent}}" />
|
||||||
</DockPanel>
|
</DockPanel>
|
||||||
<DataValidationErrors Grid.Row="1">
|
<DataValidationErrors Grid.Row="1">
|
||||||
<Grid ColumnDefinitions="*,Auto">
|
<Grid ColumnDefinitions="*,Auto,Auto">
|
||||||
<Border x:Name="border"
|
<Border x:Name="border"
|
||||||
Grid.ColumnSpan="2"
|
Grid.ColumnSpan="3"
|
||||||
CornerRadius="{TemplateBinding CornerRadius}"
|
CornerRadius="{TemplateBinding CornerRadius}"
|
||||||
BorderBrush="{TemplateBinding BorderBrush}"
|
BorderBrush="{TemplateBinding BorderBrush}"
|
||||||
BorderThickness="{TemplateBinding BorderThickness}"
|
BorderThickness="{TemplateBinding BorderThickness}"
|
||||||
@@ -233,24 +233,47 @@
|
|||||||
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
|
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||||
ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
|
ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
|
||||||
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
|
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
|
||||||
<Path Grid.Column="1"
|
<Button Grid.Column="1"
|
||||||
IsVisible="{TemplateBinding IsDropDownOpen, Converter={x:Static BoolConverters.Not}}"
|
HorizontalAlignment="Right"
|
||||||
Data="{StaticResource DownGeometry}"
|
VerticalAlignment="Stretch"
|
||||||
VerticalAlignment="Center"
|
hc:IconElement.Width="14"
|
||||||
HorizontalAlignment="Right"
|
Command="{Binding $parent[ComboBox].Clear}"
|
||||||
Width="14"
|
Width="{x:Static system:Double.NaN}"
|
||||||
Stretch="Uniform"
|
Name="ButtonClear"
|
||||||
Fill="{Binding BorderBrush, ElementName=border}"
|
Focusable="False"
|
||||||
Margin="{TemplateBinding Padding, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,0,1,0'}" />
|
DockPanel.Dock="Right"
|
||||||
<Path Grid.Column="1"
|
Theme="{StaticResource ButtonIcon}"
|
||||||
IsVisible="{TemplateBinding IsDropDownOpen}"
|
Padding="0,0,3,0"
|
||||||
Data="{StaticResource UpGeometry}"
|
hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}"
|
||||||
VerticalAlignment="Center"
|
Foreground="{Binding BorderBrush, ElementName=border}">
|
||||||
HorizontalAlignment="Right"
|
<Button.IsVisible>
|
||||||
Width="14"
|
<MultiBinding Converter="{x:Static BoolConverters.And}">
|
||||||
Stretch="Uniform"
|
<Binding RelativeSource="{RelativeSource TemplatedParent}"
|
||||||
Fill="{Binding BorderBrush, ElementName=border}"
|
Path="IsPointerOver" />
|
||||||
Margin="{TemplateBinding Padding, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,0,1,0'}" />
|
<Binding RelativeSource="{RelativeSource TemplatedParent}"
|
||||||
|
Path="(hc:InfoElement.ShowClearButton)" />
|
||||||
|
</MultiBinding>
|
||||||
|
</Button.IsVisible>
|
||||||
|
</Button>
|
||||||
|
<Panel Grid.Column="2"
|
||||||
|
Margin="{TemplateBinding BorderThickness, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,0,1,0'}">
|
||||||
|
<Path IsVisible="{TemplateBinding IsDropDownOpen, Converter={x:Static BoolConverters.Not}}"
|
||||||
|
Data="{StaticResource DownGeometry}"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
HorizontalAlignment="Right"
|
||||||
|
Width="14"
|
||||||
|
Stretch="Uniform"
|
||||||
|
Fill="{Binding BorderBrush, ElementName=border}"
|
||||||
|
Margin="{TemplateBinding Padding, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,0,1,0'}" />
|
||||||
|
<Path IsVisible="{TemplateBinding IsDropDownOpen}"
|
||||||
|
Data="{StaticResource UpGeometry}"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
HorizontalAlignment="Right"
|
||||||
|
Width="14"
|
||||||
|
Stretch="Uniform"
|
||||||
|
Fill="{Binding BorderBrush, ElementName=border}"
|
||||||
|
Margin="{TemplateBinding Padding, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,0,1,0'}" />
|
||||||
|
</Panel>
|
||||||
<Popup Grid.Column="0"
|
<Popup Grid.Column="0"
|
||||||
Name="PART_Popup"
|
Name="PART_Popup"
|
||||||
WindowManagerAddShadowHint="False"
|
WindowManagerAddShadowHint="False"
|
||||||
@@ -306,9 +329,9 @@
|
|||||||
Text="{Binding Path=(hc:TitleElement.Title), RelativeSource={RelativeSource TemplatedParent}}" />
|
Text="{Binding Path=(hc:TitleElement.Title), RelativeSource={RelativeSource TemplatedParent}}" />
|
||||||
</DockPanel>
|
</DockPanel>
|
||||||
<DataValidationErrors Grid.Column="1">
|
<DataValidationErrors Grid.Column="1">
|
||||||
<Grid ColumnDefinitions="*,Auto">
|
<Grid ColumnDefinitions="*,Auto,Auto">
|
||||||
<Border x:Name="border"
|
<Border x:Name="border"
|
||||||
Grid.ColumnSpan="2"
|
Grid.ColumnSpan="3"
|
||||||
CornerRadius="{TemplateBinding CornerRadius}"
|
CornerRadius="{TemplateBinding CornerRadius}"
|
||||||
BorderBrush="{TemplateBinding BorderBrush}"
|
BorderBrush="{TemplateBinding BorderBrush}"
|
||||||
BorderThickness="{TemplateBinding BorderThickness}"
|
BorderThickness="{TemplateBinding BorderThickness}"
|
||||||
@@ -327,24 +350,47 @@
|
|||||||
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
|
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
|
||||||
ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
|
ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}"
|
||||||
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
|
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" />
|
||||||
<Path Grid.Column="1"
|
<Button Grid.Column="1"
|
||||||
IsVisible="{TemplateBinding IsDropDownOpen, Converter={x:Static BoolConverters.Not}}"
|
HorizontalAlignment="Right"
|
||||||
Data="{StaticResource DownGeometry}"
|
VerticalAlignment="Stretch"
|
||||||
VerticalAlignment="Center"
|
hc:IconElement.Width="14"
|
||||||
HorizontalAlignment="Right"
|
Command="{Binding $parent[ComboBox].Clear}"
|
||||||
Width="14"
|
Width="{x:Static system:Double.NaN}"
|
||||||
Stretch="Uniform"
|
Name="ButtonClear"
|
||||||
Fill="{Binding BorderBrush, ElementName=border}"
|
Focusable="False"
|
||||||
Margin="{TemplateBinding Padding, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,0,1,0'}" />
|
DockPanel.Dock="Right"
|
||||||
<Path Grid.Column="1"
|
Theme="{StaticResource ButtonIcon}"
|
||||||
IsVisible="{TemplateBinding IsDropDownOpen}"
|
Padding="0,0,4,0"
|
||||||
Data="{StaticResource UpGeometry}"
|
hc:IconElement.Geometry="{StaticResource DeleteFillCircleGeometry}"
|
||||||
VerticalAlignment="Center"
|
Foreground="{Binding BorderBrush, ElementName=border}">
|
||||||
HorizontalAlignment="Right"
|
<Button.IsVisible>
|
||||||
Width="14"
|
<MultiBinding Converter="{x:Static BoolConverters.And}">
|
||||||
Stretch="Uniform"
|
<Binding RelativeSource="{RelativeSource TemplatedParent}"
|
||||||
Fill="{Binding BorderBrush, ElementName=border}"
|
Path="IsPointerOver" />
|
||||||
Margin="{TemplateBinding Padding, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,0,1,0'}" />
|
<Binding RelativeSource="{RelativeSource TemplatedParent}"
|
||||||
|
Path="(hc:InfoElement.ShowClearButton)" />
|
||||||
|
</MultiBinding>
|
||||||
|
</Button.IsVisible>
|
||||||
|
</Button>
|
||||||
|
<Panel Grid.Column="2"
|
||||||
|
Margin="{TemplateBinding BorderThickness, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,0,1,0'}">
|
||||||
|
<Path IsVisible="{TemplateBinding IsDropDownOpen, Converter={x:Static BoolConverters.Not}}"
|
||||||
|
Data="{StaticResource DownGeometry}"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
HorizontalAlignment="Right"
|
||||||
|
Width="14"
|
||||||
|
Stretch="Uniform"
|
||||||
|
Fill="{Binding BorderBrush, ElementName=border}"
|
||||||
|
Margin="{TemplateBinding Padding, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,0,1,0'}" />
|
||||||
|
<Path IsVisible="{TemplateBinding IsDropDownOpen}"
|
||||||
|
Data="{StaticResource UpGeometry}"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
HorizontalAlignment="Right"
|
||||||
|
Width="14"
|
||||||
|
Stretch="Uniform"
|
||||||
|
Fill="{Binding BorderBrush, ElementName=border}"
|
||||||
|
Margin="{TemplateBinding Padding, Converter={StaticResource ThicknessSplitConverter}, ConverterParameter='0,0,1,0'}" />
|
||||||
|
</Panel>
|
||||||
<Popup Grid.Column="0"
|
<Popup Grid.Column="0"
|
||||||
Name="PART_Popup"
|
Name="PART_Popup"
|
||||||
WindowManagerAddShadowHint="False"
|
WindowManagerAddShadowHint="False"
|
||||||
|
|||||||
Reference in new issue
Block a user