如何在C#中更改WPF ComboBox下拉列表的宽度

6
我目前正在进行C# WPF项目,有一件事我似乎无法做到 - 如何更改ComboBox下拉宽度,因为每次添加项时,下拉宽度都会取最长项(或字符串)的大小;
请帮助其他开发人员/程序员解决这个问题!

您希望下拉菜单的宽度是多少? - Mike Burdick
你可以在用于显示项目的模板上简单地设置绝对宽度。 - slugster
有几种方法可以实现这个。简单地说,将 ComboBoxItem.Width 绑定到 ComboBox.ActualWidth 即可。 - Hamlet Hakobyan
Hamlet Hakobyan; 我该怎么做? - Joël Phaka
1个回答

11

像这样设置ComboBoxItem的ItemContainerStyle:

 <ComboBox Width="50" Height="40">
        <ComboBox.ItemContainerStyle>
            <Style TargetType="ComboBoxItem">
                <Setter Property="Width" Value="60"/>
            </Style>
        </ComboBox.ItemContainerStyle>
        <ComboBoxItem Content="this is Item One "/>
        <ComboBoxItem Content="this is Item "/>
        <ComboBoxItem Content="this is "/>
        <ComboBoxItem Content="this "/>
    </ComboBox>

还有一个MaxHeight属性可能会很有用。 - user853710
1
这会影响到容器,而不是下拉框本身。例如,我将其设置为200,但我的ComboBox本身是1000,因此此内容在下拉列表中居中显示。我想要做的是限制下拉框的宽度以匹配组合框本身。 - Mark A. Donohoe

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