我有两个组合框,其中父组合必须显示国家/地区列表,子组合必须显示所选国家/地区的城市列表。
数据存储在Dictionary<Int32, List<String>>
其中有一个名字CountriesCitiesList
。
我有以下代码
<ComboBox x:Name="cbCountriesList"
DataContext="{Binding CountriesCitiesList}"
IsSynchronizedWithCurrentItem="true">
</ComboBox>
<ComboBox x:Name="cbCitiesList" VirtualizingStackPanel.IsVirtualizing="True"
ItemsSource="{Binding CountriesCitiesList}"
IsSynchronizedWithCurrentItem="true">
</ComboBox>
问题是,在城市组合中,我无法显示所选国家/地区的城市列表。我觉得缺少最后一步。
如果你的字典CountriesCitiesList
包含国家 ID 作为键和列表作为城市名称,您可以以纯 xaml 方式绑定它,如下所示 -
<ComboBox x:Name="cbCountriesList"
ItemsSource="{Binding CountriesCitiesList}"
IsSynchronizedWithCurrentItem="True">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Key}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<ComboBox x:Name="cbCitiesList"
ItemsSource="{Binding SelectedItem.Value, ElementName=cbCountriesList}"
IsSynchronizedWithCurrentItem="True"/>
我假设您想在 cbCountriesList 中显示国家/地区 ID,因为您将其绑定到具有 int 类型键的字典。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)