在wpf中的数据网格中插入组合框

时间:2011-10-11 18:07:47

标签: wpf wpfdatagrid wpftoolkit datagridcomboboxcolumn

C#

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

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..

1 个答案:

答案 0 :(得分:0)

您不应该自己设置categoriesComboBox.ItemsSource = cat;,尝试使用数据上下文:categoriesComboBox.DataContext = cat。无论如何,你已经在你的XAML中获得了所需的绑定。

希望这是你的实际问题(因为我无法理解你的问题是什么问题)。


修改:从您的图片中,您需要为您的类型DataTemplate指定MainContext.Category。没有它,使用默认模板,它只输出字符串表示。