WPF自定义下拉框宽度的ComboBox

6
如何扩展组合框下拉菜单的宽度,如运行对话框: enter image description here

你所说的自定义宽度是指显式地分配宽度,还是应该根据组合框中最长的项目来确定宽度? - Naresh Ravlani
@NareshRavlani 明确地,在代码或XAML中。 - AVEbrahimi
1个回答

8

弹出框是组合框模板的一部分(“PART_Popup”)。在组合框资源中为Popup添加样式,并在此处设置适当的宽度。

<ComboBox>
    <ComboBox.Resources>
        <Style TargetType="Popup">
            <Setter Property="Width" Value="1000"/>
        </Style>
    </ComboBox.Resources>
</ComboBox>

注意,模板中还有一个针对 Popup.MinWidth 的绑定,因此您不能将其设置得太小。

2
对于其他人,如果您希望它与 ComboBox 本身一样宽,可以使用 <Setter Property="Width" Value="{Binding RelativeSource={RelativeSource AncestorType=ComboBox},Path=ActualWidth}"/> - dotNET

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接