我正在编写一个 MVVM 应用程序,并在 ViewModel 中创建了一个类型为 的属性Dictionary<Geschäftsjahr, object>。该Geschäftsjahr-object有2个属性,并拥有两个不同年(FE:18分之2017)。ToString() 方法以这种格式返回数据。现在我想用 XAML 将字典的某个条目绑定到一个文本框。是否可以通过以下方式访问字典:<TextBox Text={Binding Path=ViewModelProperty[2017/18]} ... />通过键访问字典非常重要。其实这行不通...
2 回答
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
是否可以通过以下方式访问字典......?
仅当字典的键是编译时常量,例如 theint
1
或string
“abc”。
如果键是Geschäftsjahr
. 那么你最好绑定到一个为你执行查找的属性,例如:
public string Text => ViewModelProperty[new Geschäftsjahr(2017, 2018)];
XAML:
<TextBlock Text="{Binding Text}" />
HUX布斯
TA贡献1876条经验 获得超6个赞
不要覆盖类的 ToString() 方法,而是创建一个返回格式化日期的新属性。请参阅下文。
返回正确格式日期的新属性:
public string DatesDisplayText => "(Do your formatting here)";
然后你的 xaml 看起来像这样:
<TextBox Text={Binding Path=ViewModelProperty[Key].DatesDisplayText} ... />
- 2 回答
- 0 关注
- 592 浏览
添加回答
举报
0/150
提交
取消