0

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"
/>

现在的事情是我可以在加载时在组合框中看到名称...当我单击组合框时,下拉菜单会显示每个项目的 MainDataContext.Category...

当我单击任何下拉项目时..它选择正确的值并..在组合框中显示我...

当网格加载... 在我双击该列之后..

4

1 回答 1

0

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

希望这是您的实际问题(因为我无法从您的问题中理解问题所在)。


编辑:从您的图像中,您需要DataTemplate为您的 type指定 a MainContext.Category。没有它,将使用默认模板,它只输出字符串表示。

于 2011-10-11T18:10:29.157 回答