【发布时间】:2013-04-04 19:02:11
【问题描述】:
我有一个绑定到EnumerableRowCollection<T> 的ComboBox:
ComboFamilyStatus.ItemsSource = EnumerableRowCollection<TaxDataSet.SourcesOfValuesRow> coll;
我的 xaml 看起来像这样:
<ComboBox Name="ComboFamilyStatus" DisplayMemberPath="Description"
Text="{Binding FamilyStatus, Converter={StaticResource FamilyStatusStringConverter}}">
我使用DisplayMemberPath 来显示行的描述。 SourcesOfValuesRow 有一个值和一个描述,在组合中我想查看描述文本。文本绑定到 FamilyStatus 保存为 int 值的数据库,这就是我添加转换器的原因。
我的问题是转换器是否可以使用组合框中的 itemsource 从 int 值转换为字符串?我看不到转换器对组合一无所知。与此同时,我编写了转换器以再次从数据库中获取EnumerableRowCollection<TaxDataSet.SourcesOfValuesRow> 并在那里找到匹配的描述 - 这不是最简单的方法!
有什么建议吗??
【问题讨论】:
-
您使用
EnumerableRowCollection<T>而不是Dictionary<int, string>的任何特殊原因?我知道如果你使用Dictionary<T1, T2>,你可以使用SelectedValuePath="Key" DisplayMemberPath="Value"绑定
标签: wpf binding combobox converter