Ale*_*mov 0 .net c# wpf combobox right-align
我有一个几乎默认的WPF ComboBox:
例如,在组合框输入和/或下拉中将项目对齐的最简单方法是什么?
我环顾四周,发现只有弄乱控制模板的解决方案,在我看来这对于这么简单的事情来说太长了.我无法相信我们可以做的更简单的解决方案来调整项目.
更新:我稍微重新阐述了这个问题,以涵盖更多读者可能会在这个主题上遇到的更广泛的案例,因为事实证明这要归功于dkozl的答案.
此外,它应该防止一些人试图将此问题作为副本关闭.
如果你想右对齐都选择价值和下拉项目,然后设置HorizontalContentAlignment="Right"对ComboBox应该足够
<ComboBox ... HorizontalContentAlignment="Right">
Run Code Online (Sandbox Code Playgroud)
如果你想右对齐只有下拉项,那么你需要改变HorizontalContentAlignment的ComboBoxItem
<ComboBox>
<ComboBox.ItemContainerStyle>
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="HorizontalContentAlignment" Value="Right"/>
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)
并且只对齐两者的选定值组合
<ComboBox ... HorizontalContentAlignment="Right">
<ComboBox.ItemContainerStyle>
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)