在WPF中设置组合框的下拉高度

时间:2009-01-02 15:31:40

标签: wpf combobox

我在WPF中有一个组合框,我在运行时添加项目(通过绑定到List的数据)。我想动态设置下拉框的高度,以便显示所有(或大多数)项目。不幸的是,下拉列表的高度似乎设置了一次,并且无法动态更改。它总是看起来大小相同。

是否有一些相对简单的调整下拉高度?


是的,我在将项目添加到组合框后尝试设置它。在调试器中,它看起来像是新值。但是,当我打开下拉列表时,它会下降到自己选择的大小。我试过夸大MaxDropDownHeight,甚至把它设置为“自动”都无济于事。

3 个答案:

答案 0 :(得分:14)

属性MaxDropDownHeight是组合框上的依赖项属性,用于控制下拉列表的高度。因为它是一个依赖属性,所以它的值可以动态设置。

您是否尝试过设置此值?

答案 1 :(得分:5)

对我来说,问题是ComboBox下拉列表的物品数量高达95像素。

我的ComboBox数据源是Collection<>,但在将其更改为ObservableCollection<>后,ComboBox下拉列表会打开,显示所有项目。

现在MaxDropDownHeight属性也可以正常工作。

参考:这里的评论Make the dropdown of a combobox be shorter?

答案 2 :(得分:0)

设置您的ComboBox的Style = {x:Null},以确保您没有影响下拉面板大小的样式问题。