fix: AutoCompleteBox VerticalAlignment.

This commit is contained in:
Zhang Dian
2024-03-11 23:29:53 +08:00
parent 4d14c846b0
commit bf1a2cac39
2 changed files with 42 additions and 52 deletions

View File

@@ -17,69 +17,58 @@
<StackPanel.Styles> <StackPanel.Styles>
<Style Selector="AutoCompleteBox"> <Style Selector="AutoCompleteBox">
<Setter Property="Width" Value="300" /> <Setter Property="Width" Value="300" />
<Setter Property="ItemsSource">
<Binding Path="States" />
</Setter>
<Setter Property="ItemTemplate">
<DataTemplate DataType="local:StateData">
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</Setter>
</Style>
<Style Selector="AutoCompleteBox.Split">
<Setter Property="Width" Value="100" />
</Style> </Style>
</StackPanel.Styles> </StackPanel.Styles>
<StackPanel Orientation="Horizontal">
<AutoCompleteBox Classes="Split Large"
ValueMemberBinding="{ReflectionBinding Name}" />
<AutoCompleteBox Classes="Split"
ValueMemberBinding="{ReflectionBinding Name}" />
<AutoCompleteBox Classes="Split Small"
ValueMemberBinding="{ReflectionBinding Name}" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<AutoCompleteBox Classes="Split"
IsEnabled="False"
ValueMemberBinding="{ReflectionBinding Name}" />
<AutoCompleteBox Classes="Split Bordered"
ValueMemberBinding="{ReflectionBinding Name}" />
<AutoCompleteBox Classes="Split Bordered"
IsEnabled="False"
ValueMemberBinding="{ReflectionBinding Name}" />
</StackPanel>
<AutoCompleteBox <AutoCompleteBox
ItemsSource="{Binding States}" Watermark="Please select a State"
ValueMemberBinding="{Binding Name}" ValueMemberBinding="{Binding Name}" />
Watermark="Please select a State">
<AutoCompleteBox.ItemTemplate>
<DataTemplate DataType="local:StateData">
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</AutoCompleteBox.ItemTemplate>
</AutoCompleteBox>
<AutoCompleteBox <AutoCompleteBox
Classes="Large" Classes="Large"
ItemsSource="{Binding States}" ValueMemberBinding="{ReflectionBinding Name}" />
ValueMemberBinding="{ReflectionBinding Name}">
<AutoCompleteBox.ItemTemplate>
<DataTemplate DataType="local:StateData">
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</AutoCompleteBox.ItemTemplate>
</AutoCompleteBox>
<AutoCompleteBox <AutoCompleteBox
Classes="Small" Classes="Small"
ItemsSource="{Binding States}" ValueMemberBinding="{ReflectionBinding Name}" />
ValueMemberBinding="{ReflectionBinding Name}">
<AutoCompleteBox.ItemTemplate>
<DataTemplate DataType="local:StateData">
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</AutoCompleteBox.ItemTemplate>
</AutoCompleteBox>
<AutoCompleteBox <AutoCompleteBox
Classes="Bordered" Classes="Bordered"
ItemsSource="{Binding States}" ValueMemberBinding="{ReflectionBinding Name}" />
ValueMemberBinding="{ReflectionBinding Name}">
<AutoCompleteBox.ItemTemplate>
<DataTemplate DataType="local:StateData">
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</AutoCompleteBox.ItemTemplate>
</AutoCompleteBox>
<AutoCompleteBox <AutoCompleteBox
IsEnabled="False" IsEnabled="False"
ItemsSource="{Binding States}" Watermark="Disabled"
ValueMemberBinding="{ReflectionBinding Name}" ValueMemberBinding="{ReflectionBinding Name}" />
Watermark="Disabled"> <AutoCompleteBox
<AutoCompleteBox.ItemTemplate>
<DataTemplate DataType="local:StateData">
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</AutoCompleteBox.ItemTemplate>
</AutoCompleteBox>
<AutoCompleteBox
InnerLeftContent="https://" InnerLeftContent="https://"
InnerRightContent=".com" InnerRightContent=".com"
ItemsSource="{Binding States}" ValueMemberBinding="{ReflectionBinding Name}" />
ValueMemberBinding="{ReflectionBinding Name}">
<AutoCompleteBox.ItemTemplate>
<DataTemplate DataType="local:StateData">
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</AutoCompleteBox.ItemTemplate>
</AutoCompleteBox>
</StackPanel> </StackPanel>
</UserControl> </UserControl>

View File

@@ -9,6 +9,7 @@
</StackPanel> </StackPanel>
</Design.PreviewWith> </Design.PreviewWith>
<ControlTheme x:Key="{x:Type AutoCompleteBox}" TargetType="AutoCompleteBox"> <ControlTheme x:Key="{x:Type AutoCompleteBox}" TargetType="AutoCompleteBox">
<Setter Property="AutoCompleteBox.VerticalAlignment" Value="Center" />
<Setter Property="AutoCompleteBox.MaxDropDownHeight" Value="{DynamicResource AutoCompleteMaxDropdownHeight}" /> <Setter Property="AutoCompleteBox.MaxDropDownHeight" Value="{DynamicResource AutoCompleteMaxDropdownHeight}" />
<Setter Property="Template"> <Setter Property="Template">
<ControlTemplate TargetType="AutoCompleteBox"> <ControlTemplate TargetType="AutoCompleteBox">