我使用Entity Framework
作为我的数据库来源,需要转换Linq
查询" var"键入ObservableCollection。然后我需要将ObservableCollection绑定到WPF表单上的ComboBox;绑定到ItemsSource,DisplayMemeberPath,SelectedValuePath和SelectedValue。
这是代码:
using (PulseContext pc = new PulseContext())
{
var maritalcodes = from m in pc.CodeMaster
where m.Type == "16"
select new { m.Code, m.Description };
prop.ClientData.Options = new ObservableCollection<object>(maritalcodes);
}
问题是ComboBox
显示为&#34; {Code = ????,Description = ???? }&#34;而不是绑定到代码的值和描述显示。如何让ComboBox绑定到各个元素?
答案 0 :(得分:3)
您需要像这样设置SelectedValuePath
和DisplayMemberPath
:
prop.ClientData.Options = new ObservableCollection<object>(maritalcodes);
prop.ClientData.Options.SelectedValuePath = "Code";
prop.ClientData.Options.DisplayMemberPath = "Description";
或者你可以像这样在xaml中设置它们:
<ComboBox ItemsSource="{Binding Path=maritalcodes}"
SelectedValuePath="Code"
DisplayMemberPath="Description" />
答案 1 :(得分:1)
<ComboBox ItemsSource="{Binding Path=maritalcodes}"
SelectedValuePath="Code"
DisplayMemberPath="Description"
SelectedValue="{Binding Path=Code}"/>
我希望这会有所帮助。