【发布时间】: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,我稍后会发布这个技巧。
-
谢谢,希望您能找到答案。我的想法是用网格覆盖空列,但我不想这样做