ListBoxItem边框有时隐藏在ListBox的滚动条后面

时间:2010-08-15 21:18:20

标签: wpf listbox listboxitem

大多数情况下,ListBox的显示方式如下:

alt text

但是每隔一段时间看起来就像这样:

alt text

知道出了什么问题?

- 编辑 -

我从问题中删除了控件模板,因为当我从程序中删除它们时,问题仍然存在。这是一个WPF错误吗?

2 个答案:

答案 0 :(得分:0)

您是否尝试在ListBox项边框上设置SnapsToDevicePixels =“True”?由于厚度为1“设备无关单元”,我认为边框正在落在像素边界上。

答案 1 :(得分:0)

我几乎遇到了同样的问题,请参阅my question,我从未找到真正的答案。我现在所做的是从列表框模板中删除scrollviewer并将整个列表框本身嵌入到新的scrollviewer中。不适用于所有场合,但它仍然是一个巧妙的技巧。

xaml看起来像这样:

<ScrollViewer>

  <ListBox>

    <!--strip default presenter-->
    <ItemsControl.Template>
      <ControlTemplate>
        <ItemsPresenter />
      </ControlTemplate>
    </ItemsControl.Template>

    <ListBox.ItemTemplate>
      <DataTemplate>
        <!--data template goes here-->
      </DataTemplate>
    </ListBox.ItemTemplate>

  </ListBox>

</ScrollViewer>

我不是一个巨大的xaml向导,所以如果有人可以将其转换成可重复使用的代码,那么一定要这样做。