2 个组合框之间的 WPF 主/详细数据绑定

2024-03-08

我有两个组合框,其中父组合必须显示国家/地区列表,子组合必须显示所选国家/地区的城市列表。 数据存储在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(使用前将#替换为@)

2 个组合框之间的 WPF 主/详细数据绑定 的相关文章

随机推荐