我有一个简单的组合框绑定到一个列表,其中 A 有一个属性键和一个属性值。
组合框绑定很好,除了一个缺陷外可以正常工作。它在底部有一个很大的空白区域,没有项目(即它们不会在悬停或任何类似的事情上突出显示,没有额外的项目,只是有一个空白空间)。我怎样才能摆脱它?
我有一个简单的组合框绑定到一个列表,其中 A 有一个属性键和一个属性值。
组合框绑定很好,除了一个缺陷外可以正常工作。它在底部有一个很大的空白区域,没有项目(即它们不会在悬停或任何类似的事情上突出显示,没有额外的项目,只是有一个空白空间)。我怎样才能摆脱它?
这很可能是因为ComboBox
您当前主题下的模板。尝试将 Windows 主题更改为 Aero 或 Luna(好像现在您已将其设置为 Classic)。
如果这是问题所在,那么有一种方法可以通过使用自定义模板来“修复”它,但是从用户的角度来看,您会破坏一致性。你需要考虑到它。
您需要更改组合框的模板并相应地重置弹出高度。检查下面。
http://msdn.microsoft.com/en-in/library/ms752094%28v=vs.85%29.aspx
在模板下搜索弹出窗口并将 minheight=0 添加到其中。
在我的 ComboBox ItemsSource="{Binding MyItems... 中,如果 MyItems 是 List,它将留下额外的空间。如果 MyItems 是 ObservableCollection,则多余的空间会消失。这可能是由于 Microsoft 错误导致 ItemsSource 未正确通知当它是 List 对象时,由 MyItems 更改。