我正在編寫一個(gè) MVVM 應(yīng)用程序,并在 ViewModel 中創(chuàng)建了一個(gè)類型為 的屬性Dictionary<Gesch?ftsjahr, object>。該Gesch?ftsjahr-object有2個(gè)屬性,并擁有兩個(gè)不同年(FE:18分之2017)。ToString() 方法以這種格式返回?cái)?shù)據(jù)?,F(xiàn)在我想用 XAML 將字典的某個(gè)條目綁定到一個(gè)文本框。是否可以通過以下方式訪問字典:<TextBox Text={Binding Path=ViewModelProperty[2017/18]} ... />通過鍵訪問字典非常重要。其實(shí)這行不通...
2 回答

米琪卡哇伊
TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
是否可以通過以下方式訪問字典......?
僅當(dāng)字典的鍵是編譯時(shí)常量,例如 theint
1
或string
“abc”。
如果鍵是Gesch?ftsjahr
. 那么你最好綁定到一個(gè)為你執(zhí)行查找的屬性,例如:
public string Text => ViewModelProperty[new Gesch?ftsjahr(2017, 2018)];
XAML:
<TextBlock Text="{Binding Text}" />

HUX布斯
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊
不要覆蓋類的 ToString() 方法,而是創(chuàng)建一個(gè)返回格式化日期的新屬性。請(qǐng)參閱下文。
返回正確格式日期的新屬性:
public string DatesDisplayText => "(Do your formatting here)";
然后你的 xaml 看起來像這樣:
<TextBox Text={Binding Path=ViewModelProperty[Key].DatesDisplayText} ... />
- 2 回答
- 0 關(guān)注
- 680 瀏覽
添加回答
舉報(bào)
0/150
提交
取消