【问题标题】:ListBoxItem border is sometimes hidden behind the ListBox's scrollbarListBoxItem 边框有时隐藏在 ListBox 的滚动条后面
【发布时间】:2010-08-15 21:18:20
【问题描述】:

大多数时候 ListBox 是这样的:

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

知道出了什么问题吗?

--编辑--

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

【问题讨论】:

  • 能贴出相关代码吗?

标签: wpf listbox listboxitem


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我遇到了几乎完全相同的问题,请参阅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 向导,所以如果有人可以将其转换为可重用的代码段,请务必这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-06
      • 1970-01-01
      • 2012-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-17
      • 1970-01-01
      相关资源
      最近更新 更多