ComboBox底部有额外的空间

时间:2015-07-01 20:37:17

标签: wpf drop-down-menu combobox

我有一个ComboBox,在其值下方显示空白区域。见下图。

视图模型中的数据在按钮单击处理程序中设置。当我在视图模型的初始化中设置值时,ComboBox很好。当我尝试创建一个小例子时,ComboBox也具有预期的大小。它似乎取决于我在视图模型中设置值的上下文,但我无法弄清楚。我希望有人能给我一个提示。

enter image description here

视图模型中的代码

Repositories.Clear();
Repositories.Add("One");
Repositories.Add("Two");
Repositories.Add("Three");
SelectedRepository = "One";

XMAL中的代码

<ComboBox MinWidth="150" 
          HorizontalAlignment="Stretch" 
          VerticalAlignment="Center" 
          VerticalContentAlignment="Center"
          IsEnabled="{Binding CT.Connected}"
          ItemsSource="{Binding CT.Repositories, 
                                UpdateSourceTrigger=PropertyChanged}"
          SelectedItem="{Binding CT.SelectedRepository}"/>

2 个答案:

答案 0 :(得分:0)

您要绑定的ItemsSource必须是ObservableCollection。如果您将ComboBox绑定到任何可枚举的类型,而这些枚举类型在其项更改时不会引发属性更改,则ItemsSource将显示初始空格。

答案 1 :(得分:-1)

  

当我尝试创建一个小例子时,ComboBox具有预期的大小。

通过该逻辑,它可能不是组合框,而是列表中的数据。您是否可以验证在最后四个项目中,没有8个项目显示的文本值为空?

也许一种风格造成了额外的空间。尝试从组合框中删除样式,例如

<ComboBox Style="{x:Null}"/> 

并查看它是否对视觉效果有任何影响。

另外,如何设置数据并查看下拉列表是否具有相同的大小?