WPF/XAML:通过键绑定到 Dictionary<object, object> 条目

我正在编写一个 MVVM 应用程序,并在 ViewModel 中创建了一个类型为 的属性Dictionary<Geschäftsjahr, object>

Geschäftsjahr-object有2个属性,并拥有两个不同年(FE:18分之2017)。ToString() 方法以这种格式返回数据。

现在我想用 XAML 将字典的某个条目绑定到一个文本框。是否可以通过以下方式访问字典:

<TextBox Text={Binding Path=ViewModelProperty[2017/18]} ... />

通过键访问字典非常重要。其实这行不通...


侃侃尔雅
浏览 593回答 2
2回答

米琪卡哇伊

是否可以通过以下方式访问字典......?仅当字典的键是编译时常量,例如 theint&nbsp;1或string“abc”。如果键是Geschäftsjahr.&nbsp;那么你最好绑定到一个为你执行查找的属性,例如:public&nbsp;string&nbsp;Text&nbsp;=>&nbsp;ViewModelProperty[new&nbsp;Geschäftsjahr(2017,&nbsp;2018)];XAML:<TextBlock&nbsp;Text="{Binding&nbsp;Text}"&nbsp;/>

HUX布斯

不要覆盖类的 ToString() 方法,而是创建一个返回格式化日期的新属性。请参阅下文。返回正确格式日期的新属性:public&nbsp;string&nbsp;DatesDisplayText&nbsp;=>&nbsp;"(Do&nbsp;your&nbsp;formatting&nbsp;here)";然后你的 xaml 看起来像这样:<TextBox&nbsp;Text={Binding&nbsp;Path=ViewModelProperty[Key].DatesDisplayText}&nbsp;...&nbsp;/>
打开App,查看更多内容
随时随地看视频慕课网APP