在WPF

2011-10-11 51 views
0

C#在WPF

MainDataContext db = new MainDataContext(); 
var cat = from p in db.Categories 
         select p; 
categoriesComboBox.ItemsSource = cat; 
      categoriesComboBox.SelectedValuePath = "ID"; 
      categoriesComboBox.DisplayMemberPath = "CatName"; 

插入組合框在DataGrid XAML

<Custom:DataGridComboBoxColumn          
Width="1*"         x:Name="categoriesComboBox" 
Header="Category" 
ItemsSource="{Binding}" 
SelectedValueBinding="{Binding Path=Category}" 
SelectedValuePath="ID" 
DisplayMemberPath="CatName" 
/> 

現在的事情是我可以在comobox看到這個名字的時候,它加載... ...當我點擊組合框的下拉菜單顯示我MainDataContext.Category爲每個項目...

當我點擊任何下拉項目..其選擇正確的值,並顯示我在組合框...

When the grid is loaded... After the i double click on that column..

回答

0

你不應該設置categoriesComboBox.ItemsSource = cat;自己,試着用數據上下文做:categoriesComboBox.DataContext = cat。無論如何,你已經在你的XAML中獲得了所需的綁定。

希望這是你的實際問題(因爲我沒有設法理解你的問題是什麼問題)。


編輯:從您的圖片,你需要爲MainContext.Category類型指定一個DataTemplate。沒有它,使用默認模板,它只輸出字符串表示。

+0

我已添加圖片..請檢查一次.. – Siddhartha

+0

@siddhartha:更新了答案 – Vlad

+0

其實我無法做到這一點,請你給我任何簡單的例子。 :) – Siddhartha