ComboBox + VirtualizingStackPanel宽度错误?

时间:2016-02-09 15:26:18

标签: silverlight combobox silverlight-5.0

使用ComboBox和VirtualizingStackPanel时,我们的Silverlight应用中遇到了问题。当ComboBox项的宽度明显宽于控件本身时以及当项目仅在滚动后可见(即在加载时不可见)时,会出现问题。使用相当长的项目列表,ComboBox滚动变得疯狂。

做一些谷歌搜索我只能看到一条评论描述我们正在经历的但没有我能找到的解决方案。这似乎是一个错误,但也许我们要么做错了或有一个解决方法。标记很简单,大致如下所示

<ComboBox>
  <ComboBox.ItemsPanel>
    <ItemsPanelTemplate>
      <VirtualizingStackPanel />
    </ItemsPanelTemplate>
  </ComboBox.ItemsPanel>
</ComboBox>

顺便说一句,ComboBoxItems是简单的文本。没有图形或其他对象。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,最后需要为组合框定义一个项目模板,并强制项目的宽度与外部列宽的宽度相匹配。这会使文本换行到多行,但您可以将其更改为使用y来修剪文本项。

TextTrimming="WordEllipsis"

在我的情况下,我并不总是知道组合框需要的大小,这就是我使用绑定到网格列的原因。如果您知道组合框的大小,可以直接在项模板中设置宽度。

相关问题