【问题标题】:Stop items in listview from drawing beyond columns阻止列表视图中的项目超出列绘制
【发布时间】:2014-01-29 02:30:15
【问题描述】:

我正在尝试在 wpf 中创建一个类似于 Windows 资源管理器的列表视图。我得到了一切(!),树,导航等,我什至得到了矩形图。我唯一不能做的就是阻止选定的项目绘制到最后一列之外(见截图),我的 listview-mouseover 和选定项总是将选定项背景绘制到最后一列之外。

感谢每一个回答,这让我发疯了。

我尝试发布问题的图片,但我是新手,我需要 10 名声望(不管是什么),所以我附上了屏幕截图的链接。 http://abload.de/img/listviewtwuu5.jpg

编辑:

有一些简单的 XAML:

<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
    <ListView Name="MyListView">
        <ListView.View>
            <GridView>
                <GridViewColumn DisplayMemberBinding="{Binding Username}" Width="100"/>
            </GridView>
        </ListView.View>
    </ListView>
</Grid>
</Window>

这里是后面的代码

Class MainWindow 
 Private Class User
     Public Property Username As String
 End Class

 Sub New()
     InitializeComponent()
     For i As Integer = 0 To 20
         MyListView.Items.Add(New User With {.Username = "User" & i.ToString})
     Next
 End Sub
End Class

这里是截图http://abload.de/img/listview21pb3o.jpg 正如您在第一个示例(原始 Windows 资源管理器)中所见,所选项目背景不会超出最后一列,而在我的示例中,所选项目背景超出并使用了列表视图控件中的所有可用空间。

【问题讨论】:

  • 如果您发布了一些 XAML 或重现您描述的问题的代码可能会有所帮助 - 事实上,如果您这样做,您更有可能获得帮助。尝试制作最小的程序来编译并显示您所描述的问题,并将其添加到您的问题中。
  • 欢迎来到 StackOverflow。补充@Steve 所说的内容,请参阅 StackOverflow 中的 How to create a Minimal, Complete, Tested and Readable example 页面 Help Center 以获得帮助。
  • 只是猜测......如果你在右侧再添加一个空白的空列呢?
  • 确实这是标准的 WPF 行为。 WPF 设置整行的背景颜色。解决方案并不难。我无法访问我的开发 PC,我稍后会发布这个技巧。
  • 谢谢,希望您能找到答案。我的想法是用网格覆盖空列,但我不想这样做

标签: wpf listview


【解决方案1】:

很抱歉,我想到了 DataGrid,它在样式方面比 ListView 提供了更多的灵活性。现在我没有办法。如果您可以改用 DataGrid:只需使用它,它就可以满足您的需求。无需额外的样式。

【讨论】:

  • 谢谢,但我做了一个类似资源管理器的控件,一切正常,除了最后一列之外的项目。 DataGrid 不是一个选项。我试图找到一个解决方法,但还是谢谢
  • 我不能覆盖 ItemContainerStyle 并将所选项目的背景绑定到渐变画笔,第一种颜色绑定到组合的列宽,第二种颜色透明吗?如果是这样,任何人都可以解决这个问题吗?
猜你喜欢
  • 1970-01-01
  • 2021-11-16
  • 1970-01-01
  • 1970-01-01
  • 2015-12-09
  • 2018-02-11
  • 2019-09-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多