C# WPF组合框的选定值不显示
我有一个xml文件,如下所示:-C# WPF组合框的选定值不显示,c#,xml,wpf,wpf-controls,C#,Xml,Wpf,Wpf Controls,我有一个xml文件,如下所示:- <Root> <Level> <id>1</id> <display>Level1</display> </Level> <Level> <id>2</id> <display>Level2</display> </Level>
<Root>
<Level>
<id>1</id>
<display>Level1</display>
</Level>
<Level>
<id>2</id>
<display>Level2</display>
</Level>
</Root>
然后按如下方式添加所选值:
cmbLevel.SelectedValue = level;
我是否需要添加其他内容,以便在组合框中显示所选值?我需要重新绑定组合框吗
感谢您的帮助和时间对于使用组合框选择选项,您似乎有些困惑。我建议您阅读MSDN上的帮助页面。在
组合框
中进行选择的方法有很多,链接文章中对所有这些都有明确的描述
从MSDN:
DisplayMemberPath:获取或设置源对象上的值的路径,以用作对象的可视表示形式
SelectedValue:获取或设置SelectedItem的值,该值是使用SelectedValuePath获得的
SelectedValuePath:获取或设置用于从SelectedItem获取SelectedValue的路径
SelectedItem:获取或设置当前选择中的第一项,如果选择为空,则返回null
另外,为什么要在code和XAML中设置相同的属性?您似乎对使用
组合框
选择选项有些困惑。我建议您阅读MSDN上的帮助页面。在组合框
中进行选择的方法有很多,链接文章中对所有这些都有明确的描述
从MSDN:
DisplayMemberPath:获取或设置源对象上的值的路径,以用作对象的可视表示形式
SelectedValue:获取或设置SelectedItem的值,该值是使用SelectedValuePath获得的
SelectedValuePath:获取或设置用于从SelectedItem获取SelectedValue的路径
SelectedItem:获取或设置当前选择中的第一项,如果选择为空,则返回null
另外,为什么要在代码和XAML中设置相同的属性?Sheridan,我对WPF很陌生,这就是为什么我要做这个示例应用程序。我在代码和XAML中绑定了SelectedValue,因为当我只在XAML中绑定它时,它仍然没有正确地获取SelectedValue,所以我需要在代码中设置ID,因为加载对象后它没有在XAML中设置。不是这样吗?我来自ASP.NET背景,也许这就是我的想法背后的原因。Sheridan,我对WPF非常陌生,这就是我为什么要做这个示例应用程序的原因。我在代码和XAML中绑定了SelectedValue,因为当我只在XAML中绑定它时,它仍然没有正确地获取SelectedValue,所以我需要在代码中设置ID,因为加载对象后它没有在XAML中设置。不是这样吗?我来自ASP.NET背景,也许这就是我思考的原因。你想把什么设置为选定值?你想把什么设置为选定值?
private void InitCombo(XDocument xdoc, ComboBox comboBox, string NodeName)
{
var displayItems = from ele in xdoc.Descendants(NodeName)
select new
{
id = (string)ele.Element("id"),
display = (string)ele.Element("display")
};
comboBox.DisplayMemberPath = "display";
comboBox.SelectedValuePath = "id";
comboBox.ItemsSource = displayItems.ToList();
}
cmbLevel.SelectedValue = level;