我真的被困在一個很基本的概念 - 我無法找到答案,我真的明白了。
我有一個視圖 - viewContacts。它的datacontext是一個viewmodel - viewmodelContacts。
在視圖我有「冠軍」(你知道......先生,太太,小姐,等等)的組合框。我想綁定itemssource,以顯示選項列表,並綁定SelectedValue,以便將關鍵字存儲在viewmodelContacts TitleId屬性中。
「來源」列表中,如果標題(即我要綁定到的ItemsSource)實際上是在一個單獨的靜態類 - 注意不是視圖模型!
internal static class Titles
{
static IList<Title> _colTitles = null;
static Titles()
{
_colTitles = new List<Title>();
_colTitles.Add(new Title() { TitleId = 1, Description = "Mr." });
_colTitles.Add(new Title() { TitleId = 2, Description = "Mrs." });
_colTitles.Add(new Title() { TitleId = 3, Description = "Miss." });
_colTitles.Add(new Title() { TitleId = 4, Description = "Ms." });
}
internal static IList<Title> GetTitles()
{
return _colTitles;
}
}
(稍後,當然,這些東西將從數據庫中提取)。
這個簡單的任務超過了我作爲WPF開發人員的才能。
我如何設置的ItemsSource這個靜態類?我如何進一步將DisplayMemberPath設置爲底層Title對象的Description屬性?
什麼我的的SelectedValue和SelectedValuePath設置?
真的希望有人能幫助我走出這似乎是一個簡單的問題,我只是不能工作了。
感謝, 灰色
沒有時間做出全面的答案,但爲什麼不直接在ViewModel中創建一個屬性來返回「Model?」中的數據?在這種情況下,您的模型是靜態類 - 稍後,它將是您用來從數據庫獲取數據的任何內容。這樣,當您更改模型時(這是MVVM的關鍵點之一 - 關注點分離),您的視圖綁定不會更改。 –