gpt4 book ai didi

c# - 在 WPF 中将 ObservableCollection 绑定(bind)到 ComboBox

转载 作者:行者123 更新时间:2023-11-30 21:05:41 24 4
gpt4 key购买 nike

我使用 Entity Framework 作为我的数据库源,需要将 Linq 查询“var”类型转换为 ObservableCollection。然后我需要将 ObservableCollection 绑定(bind)到 WPF 表单上的 ComboBox;绑定(bind)到 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 将其显示为“{ Code = ????, Description = ???? }”,而不是绑定(bind)到代码以显示值和描述。我需要做什么才能让 ComboBox 绑定(bind)到各个元素?

最佳答案

您需要像这样设置 SelectedValuePathDisplayMemberPath:

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

关于c# - 在 WPF 中将 ObservableCollection 绑定(bind)到 ComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11551176/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com