我有以下的WPF標記問題使用LINQ to SQL查詢數據綁定到一個WPF組合框
<ComboBox x:Name="realmComboBox"
DisplayMemberPath="Name"
SelectedValuePath="Name"
Width="120" />
我發現說下面的一個在網絡上無數的例子應該工作
realmComboBox.ItemsSource = from realm in _db.Realms select realm;
realmComboBox.ItemsSource = (from realm in _db.Realms select realm).ToList();
但我得到的只是一個空白的下拉菜單。如果您沒有設置DisplayMemberPath,甚至不會出現告訴我的ToString問題。我發現,工作的唯一事情是以下
realmComboBox.ItemsSource = from realm in _db.Realms
select new {
Name = realm.Name
};
但是,這感覺就像是資源的浪費總,因爲我已經在內存中的領域對象,它顯然有一個名稱屬性。我錯過了什麼?
'Realm.Name'是一個公共屬性嗎?如果不是這可能是一個問題... –
哦,你好!當然,我在想這個答案是什麼。此外,在調試時檢查Visual Studio中的輸出窗口將幫助您識別綁定錯誤。有些有點神祕,有些則沒什麼幫助,但是在這種情況下的錯誤會提到類似'無法在對象'Realm'上找到公共屬性'名稱'或其他類似的內容。 – fatty
Name屬性是公共的。當我在調試器下運行時,立即窗口中沒有輸出。該對象確實使用[Table]屬性,並且該屬性具有[Column]屬性,這些屬性可能會干擾某些操作? – LetTheBeatingBegin