14

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

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


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

4

3 回答 3

17

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

您是否尝试设置此值?

MaxDropDownHeight="Auto"
于 2009-01-02T17:14:24.020 回答
10

对我来说,问题是 ComboBox 下拉菜单的高度为 95 像素,与项目数量无关。

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

现在该MaxDropDownHeight物业也工作得很好。

参考:这里的评论使组合框的下拉菜单更短?

于 2017-07-10T16:39:27.463 回答
0

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

于 2015-05-19T17:13:13.113 回答