【发布时间】:2018-07-30 13:00:34
【问题描述】:
我正在使用 WPF 进行项目。我有一个 ComboBox,里面装满了我数据库中的项目。我正在尝试获取在 ComboBox 中选择的项目的 ID,它正在显示项目,但 Combobox 的文本也显示属性名称。这是我用来填充 ComboBox 的代码。
using (var Context = new ProfetusModel())
{
var GetQuestions = Context.Questions.Select(ques => new {Questions=ques.Question1,ID=ques.IdQues }).ToList();
// CompoQues.ItemsSource = GetQuestions;
CompoQues.ItemsSource = GetQuestions
CompoQues.DisplayMemberPath = "Questions";
CompoQues.SelectedValuePath = "ID";
CompoQues.SelectedIndex = 0;
}
它正在工作,但显示像这张图片
如何更改组合框中显示的问题的格式,以便仅显示问题本身的文本,而不是前大括号 - 即,
文本显示“{Questions = What is the name of (text of selected question)...}”
文本应该只显示“What is the name of (text of selected question)”
【问题讨论】:
-
@FrankerZ 伙计,这不是我的问题,问题是我如何从组合框的文本中隐藏属性名称?
-
Combobox 似乎使用了
ToString的默认实现。覆盖它以仅返回 Questions 值或仅将字符串值存储在组合框中。 -
@RobinB 我不明白我应该怎么做才能修复它
-
@RobinB OP 使用
DisplayMemberPath,因此不应显示ToString()值。 -
您能否提供一个带有 xaml 和代码的MCVE,我们可以使用它来重现它?创建一个新项目并粘贴您的 mcve,看看我们是否可以复制它。
标签: c# wpf linq entity-framework-6