【发布时间】:2012-08-23 22:34:46
【问题描述】:
我需要一些帮助来实现一些数据绑定。我的视图模型公开了以下属性:
public List<string> ChosenFeatures {get;set;}
public Dictionary<string, double> AllFeatureCosts {get;set;}
“ChosenFeatures”将包含“AllFeatureCosts”中存在的字典键子集。
在视图中,我想渲染一系列 TextBlock,“ChosenFeatures”中的每个项目都有一个。这是棘手的部分:- 每个 TextBlock 的 Text 属性需要绑定到“AllFeatureCosts”字典中的一个值,使用“ChosenFeatures”中的字符串作为该字典项的键。
如果有任何关于如何编写 XAML 来完成此任务的指示,我将不胜感激。
【问题讨论】:
-
为什么不让
ChosenFeatures另一个Dictionary<string,double>而不是只携带钥匙呢? -
@Jay AllFeatureCosts 是一个单例,用于驱动整个应用程序的各种视图,其值将不断变化(由 b/g 线程更新)。我希望我可以在 XAML 中做我需要的事情,但我怀疑解决方案会很糟糕或不可能!相反,我想我可以让视图模型订阅 AllFeatureCosts 上的更改事件并更新 ChosenFeatures 中的值(这将是您建议的字典)。
标签: wpf