我正在使用带有动态字段生成器的 MVVM 模型,其中字段是从数据库中提取的,这样做是因为不同类型的表单需要不同的字段(TextBox/TextBlock、ComboBox 等)。问题是我正在尝试从字典中检索一个值,以在表单的 TextBlock 中显示,但我不确定如何绑定检索到的 Key 以便我可以显示该值。
目前,我正在执行以下操作:
TextBlock textBlock = new TextBlock();
textBlock.SetBinding(TextBlock.TextProperty, createFieldBinding(myPropertyName);
使用以下绑定方法:
private Binding createFieldBinding(string fieldName) {
Binding binding = new Binding(fieldName);
binding.Source = this.DataContext;
binding.UpdateSourceTrigger = UpdateSourceTrigger.LostFocus;
return binding;
}
我在哪里传递类似的东西Score
,它映射到Score
ViewModel 中的一个属性,但是我如何绑定到字典键来检索它的值?
如果可能的话,我希望能够绑定到类似的东西myDictionaryProperty[myDictionaryKey]
。
示例:下面生成PlayerScore
ID 为 1 的 for Player。其中PlayerScore
aDictionary<int, int>
和PlayerID
是int
。
<TextBlock Name="textBlockA" Text="{Binding PlayerScore[1]} />