我在 WPF 中有一个组合框,我在运行时添加项目(通过数据绑定到列表)。我想动态设置下拉框的高度,以便显示所有(或大部分)项目。不幸的是,下拉菜单的高度似乎设置了一次,并且不能动态更改。它似乎总是相同的大小。
是否有一些相对简单的调整下拉高度?
是的,我在将项目添加到组合框后尝试设置它。在调试器中,看起来新值就在那里。但是,当我打开下拉列表时,它会下降到自己选择的大小。我尝试过夸大 MaxDropDownHeight,甚至将其设置为“自动”也无济于事。
该属性MaxDropDownHeight
是一个依赖属性,在组合框上控制下拉列表的高度。由于它是一个依赖属性,它的值可以动态设置。
您是否尝试设置此值?
MaxDropDownHeight="Auto"
对我来说,问题是 ComboBox 下拉菜单的高度为 95 像素,与项目数量无关。
我的 ComboBox 数据源是Collection<>
,但在将其更改为 后ObservableCollection<>
,ComboBox 下拉菜单打开,显示所有项目。
现在该MaxDropDownHeight
物业也工作得很好。
参考:这里的评论使组合框的下拉菜单更短?
设置您的 ComboBox 的 Style={x:Null} 以确保您没有影响下拉面板大小的样式问题。