我的WPF4組合框下拉列表不正確地顯示我的EF4實體的類名。下面是相關XAML:如何綁定查找組合框?
<Window.Resources>
<CollectionViewSource x:Key="myEntitiesViewSource"/>
</Window.Resources>
<ComboBox ItemsSource="{Binding Source={StaticResource myEntitiesViewSource}}" DisplayMemberPath="CategoryDescription" SelectedValuePath="CategoryID" />
這裏是我的Window_Loaded事件中的代碼:
var categoryList = from p in _context.Categories
orderby p.CategoryNumber
select p;
System.Windows.Data.CollectionViewSource myEntitiesViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("myEntitiesViewSource")));
// Load data by setting the CollectionViewSource.Source property:
myEntitiesViewSource.Source = categoryList;
我的數據庫有許多與連接表稱爲ProjectCategories項目和類別之間的一對多關係。類別實體被自動地作爲一個單一的實體創建來表示兩個數據庫表:僅包含兩個字段
1)含有一個ID,CategoryDescription和CategoryNumber和
2分類的查找表)的連接表ProjectCategories - 來自表項目和類別的ID。實體模型位於我的WPF窗口的單獨項目中。
我的目標是讓用戶從下拉列表中選擇一個CategoryDescription,然後單擊Add Category按鈕將選定的Category添加到ProjectCategories的單獨列表中。使用當前代碼,我可以在組合框文本區域中看到正確的CategoryDescription,但下拉列表多次顯示實體類名稱Categories(在其名稱空間前面)!
如何使這個簡單的查找組合框正確綁定並顯示CategoryDescriptions和CategoryID的SelectedValue列表?注意:如果可能,我會接受僅使用代碼的方法,而不使用XAML中的CollectionViewSource。
謝謝!