我正在尝试在wpf中创建一个类似于Windows资源管理器的listview。我得到了一切(!),树,导航等,我甚至得到了矩形图。我唯一无法做的就是阻止所选项目超出最后一列(见截图),我的listview-mouseover和selected-items总是在最后一列之外绘制selecteditembackground。
我很感谢每一个答案,这让我发疯了。
我尝试发布问题的图片,但我是新的,我需要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资源管理器)中看到的那样,所选项目背景不会超出最后一列,而在我的示例中,selecteditem背景超出并使用listview控件中的所有可用空间。
答案 0 :(得分:0)
对不起,我考虑过DataGrid,在这个特殊的样式方面提供了比ListView更多的灵活性。现在我没有办法。如果你可以使用DataGrid:只需使用它,它就完全符合你的需要。无需额外的造型。