大多数情况下,ListBox的显示方式如下:
但是每隔一段时间看起来就像这样:
知道出了什么问题?
- 编辑 -
我从问题中删除了控件模板,因为当我从程序中删除它们时,问题仍然存在。这是一个WPF错误吗?
答案 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向导,所以如果有人可以将其转换成可重复使用的代码,那么一定要这样做。