gpt4 book ai didi

c# - 在两个或多个 ListView 之间绑定(bind) ListView SelectedItem

转载 作者:太空宇宙 更新时间:2023-11-03 16:09:43 27 4
gpt4 key购买 nike

我有一个包含 ObservableCollection 的字典,如下所示:

Dictionary<string, ObservableCollection<Person>> MyDictionary

现在在我的 xaml 中,我正在创建一个 itemscontrol,它使用字典的键作为扩展器,并在 listview 中使用人员的集合,如下所示:

<ItemsControl   ItemsSource="{Binding MyDictionary}" VerticalAlignment="Center" HorizontalAlignment="Left">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Expander Name="expander" IsExpanded="True">
<Expander.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Margin="5" VerticalAlignment="Stretch" HorizontalAlignment="Left" Text="MyString:"/>
<TextBlock Margin="5" VerticalAlignment="Stretch" HorizontalAlignment="Left" Text="{Binding Key}"/>
</StackPanel>
</Expander.Header>
<Expander.Content>
<ListView SelectionMode="Single" ItemsSource="{Binding Value}">

<ListView.View>
<GridView AllowsColumnReorder="True">

<GridViewColumn>
<GridViewColumn.Header>
<TextBlock Text="Name" Margin="5" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" Margin="5" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>

<GridViewColumn>
<GridViewColumn.Header>
<TextBlock Text="Last Name" Margin="5" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</GridViewColumn.Header>
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding LastName}" Margin="5" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
</Expander.Content>
</Expander>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>

现在,如您所见,它创建了一组扩展器,每个扩展器的内容中都有一个 ListView ...

我想只让一个listview有一个选中的item,怎么办?

如果我不清楚:我将有 3 个 Expanders,每个有 1 个 ListView,每个 ListView 有 4-5 个项目,我希望当用户单击 listviewitem 时,所有其他 ListViews 选定的项目将被取消选择。

谢谢!

最佳答案

为什么不订阅每个 ListView 的选择事件并调用UnselectAll在其他方面。

关于c# - 在两个或多个 ListView 之间绑定(bind) ListView SelectedItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17996978/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com