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

The*_*Cat 11 wpf combobox

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

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


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

w4g*_*n3r 15

属性MaxDropDownHeight是组合框上的依赖项属性,用于控制下拉列表的高度.由于它是依赖属性,因此可以动态设置其值.

你试过设置这个值吗?


小智 8

对我来说,问题是ComboBox下拉列表的高度为95像素.

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

现在该MaxDropDownHeight物业也运作良好.

参考:此处的评论使组合框的下拉列表更短?

  • 似乎该集合需要是一个“ObservableCollection”才能允许下拉菜单自行调整大小。 (3认同)