我在WPF中有一个组合框,我在运行时添加项目(通过绑定到List的数据)。我想动态设置下拉框的高度,以便显示所有(或大多数)项目。不幸的是,下拉列表的高度似乎设置了一次,并且无法动态更改。它总是看起来大小相同。
是否有一些相对简单的调整下拉高度?
是的,我在将项目添加到组合框后尝试设置它。在调试器中,它看起来像是新值。但是,当我打开下拉列表时,它会下降到自己选择的大小。我试过夸大MaxDropDownHeight,甚至把它设置为“自动”都无济于事。
答案 0 :(得分:14)
属性MaxDropDownHeight是组合框上的依赖项属性,用于控制下拉列表的高度。因为它是一个依赖属性,所以它的值可以动态设置。
您是否尝试过设置此值?
答案 1 :(得分:5)
对我来说,问题是ComboBox下拉列表的物品数量高达95像素。
我的ComboBox数据源是Collection<>
,但在将其更改为ObservableCollection<>
后,ComboBox下拉列表会打开,显示所有项目。
现在MaxDropDownHeight
属性也可以正常工作。
答案 2 :(得分:0)
设置您的ComboBox的Style = {x:Null},以确保您没有影响下拉面板大小的样式问题。