如何在 XAML 中的 ComboBox 上删除 header space
How to remove header space on ComboBox in XAML
我试图在 StackPanel 中排列一个 TextBox 和一个 ComboBox,但 ComboBox 的顶部似乎有一些额外的 space 我无法删除。
如何让这两个控件正确对齐?
<StackPanel Orientation="Horizontal">
<TextBox IsTextPredictionEnabled="False" Margin="0,0,0,0" BorderBrush="Gray"
Text="{Binding ZoneName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
PlaceholderText="YourCompany"/>
<ComboBox VerticalAlignment="Stretch" BorderBrush="Gray" Padding="0,0,0,0" Margin="0,0,0,0"
ItemsSource="{Binding Path=DomainChoices}"
SelectedValue="{Binding Path=SelectedDomainChoice, Mode=TwoWay}"
SelectedValuePath="{Binding id}"
DisplayMemberPath="{Binding text}"
Foreground="Black" Width="200">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding text}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</StackPanel>
当您查看 ComboBox 的 样式时,您会发现 <Border x:Name="ShortListOuterBorder" ....
的 Margin 值为 Margin="{ThemeResource PhoneTouchTargetOverhang}"
。此资源以上述样式定义:
<Thickness x:Key="PhoneTouchTargetOverhang">0,9.5</Thickness>
您可以轻松定义自己的样式,您可以在其中更改上述值,或更改 Border 的边距。您也可以尝试将 ComboBox 的边距设置为 0,-9.5,0,0
而不应用样式。
我试图在 StackPanel 中排列一个 TextBox 和一个 ComboBox,但 ComboBox 的顶部似乎有一些额外的 space 我无法删除。
如何让这两个控件正确对齐?
<StackPanel Orientation="Horizontal">
<TextBox IsTextPredictionEnabled="False" Margin="0,0,0,0" BorderBrush="Gray"
Text="{Binding ZoneName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
PlaceholderText="YourCompany"/>
<ComboBox VerticalAlignment="Stretch" BorderBrush="Gray" Padding="0,0,0,0" Margin="0,0,0,0"
ItemsSource="{Binding Path=DomainChoices}"
SelectedValue="{Binding Path=SelectedDomainChoice, Mode=TwoWay}"
SelectedValuePath="{Binding id}"
DisplayMemberPath="{Binding text}"
Foreground="Black" Width="200">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding text}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</StackPanel>
当您查看 ComboBox 的 样式时,您会发现 <Border x:Name="ShortListOuterBorder" ....
的 Margin 值为 Margin="{ThemeResource PhoneTouchTargetOverhang}"
。此资源以上述样式定义:
<Thickness x:Key="PhoneTouchTargetOverhang">0,9.5</Thickness>
您可以轻松定义自己的样式,您可以在其中更改上述值,或更改 Border 的边距。您也可以尝试将 ComboBox 的边距设置为 0,-9.5,0,0
而不应用样式。