【发布时间】:2017-01-23 06:49:55
【问题描述】:
我有一个包含一个文本块和另一个列表的列表视图。 我希望当用户单击嵌套的 listviewitem 时,父 listviewitem 也会被选中。 例子:
在上图中,Lista2(父列表项)被选中。 用户单击 Lista1 中的 Linia6 以将其选中。当 Lista1(嵌套列表项)中的 Linia6 被选中时,Lista1(父列表项)也会被选中。
如果可以在代码后面而不是 XAML 上执行此操作
我的代码
<ListView ItemsSource="{Binding listsToDisplay}" ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" Width="200">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Width="250" Text="{Binding listName}"></TextBlock>
<ListView ItemsSource="{Binding listContent}">
</ListView>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
【问题讨论】:
-
你能描述一些关于所需选择行为的更多细节吗?从你的图片看起来好像
Lista1.Linia6最后被选中了,但是你写的它也应该选择Lista2,所以我不太明白你想要什么。 -
对帖子进行了编辑并添加了以下信息:在上图中选择了 Lista2(父列表项)。用户单击 Lista1 中的 Linia6 以将其选中。当 Lista1(嵌套列表项)中的 Linia6 被选中时,Lista1(父列表项)也会被选中。
-
是否应该取消选择
Lista2.Linia4(基本上,在所有嵌套列表中只有一个选择)? -
没有考虑这部分,虽然这对我来说是一个很好的做法并且很有趣,但我知道如何做到这一点
-
好吧,你应该考虑使用
TreeView和HierarchicalDataTemplate而不是嵌套的ListView。
标签: wpf