绑定到字典的列表框中的分组
本文关键字:列表 字典 绑定 | 更新日期: 2023-09-27 18:27:34
我有以下ListBox
:
<ListBox Name="listBox1">
<ListBox.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" Foreground="Red" />
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ListBox.GroupStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
以及填充和设置分组的代码:
var Addresses = new Dictionary<string, Address>();
Addresses.Add("1", new Address() { State = "xxx", ... });
...
var view = CollectionViewSource.GetDefaultView(Addresses);
view.GroupDescriptions.Add(new PropertyGroupDescription("State"));
listBox1.ItemsSource = view;
我没有分组,只有项目本身。如果我使用List
而不是Dictionary
来填充ListBox
,它可以正常工作,但在这种特殊情况下,我确实需要添加Dictionary
的功能(实际上是按键寻址项目的能力)。
谢谢,Sinatr,这让我朝着正确的方向前进。其实很简单:
view.GroupDescriptions.Add(new PropertyGroupDescription("Value.State"));