【发布时间】:2010-08-15 21:18:20
【问题描述】:
大多数时候 ListBox 是这样的:
但每隔一段时间它看起来像这样:
知道出了什么问题吗?
--编辑--
我从问题中删除了控制模板,因为当我从程序中删除它们时,问题仍然存在。这是 WPF 错误吗?
【问题讨论】:
-
能贴出相关代码吗?
标签: wpf listbox listboxitem
大多数时候 ListBox 是这样的:
但每隔一段时间它看起来像这样:
知道出了什么问题吗?
--编辑--
我从问题中删除了控制模板,因为当我从程序中删除它们时,问题仍然存在。这是 WPF 错误吗?
【问题讨论】:
标签: wpf listbox listboxitem
您是否尝试在 ListBox 项边框上设置 SnapsToDevicePixels="True"?由于厚度为 1“设备独立单位”,我认为边框落在像素边界上。
【讨论】:
我遇到了几乎完全相同的问题,请参阅my question,但我从未找到真正的答案。我现在所做的是从列表框模板中剥离滚动查看器,并将整个列表框本身嵌入到新的滚动查看器中。并非适用于所有场合,但它仍然是一个巧妙的技巧。
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 向导,所以如果有人可以将其转换为可重用的代码段,请务必这样做。
【讨论】: