WPF下拉框(ComboBox)…如何设置“.Text”属性?

10

是否有办法直接设置Wpf ComboBox控件的 .Text 属性?

我的ComboBox绑定了一个 List<T> 集合,但当我尝试在 DropDownClosed 事件中设置 .Text 属性时,它完全忽略了这个属性。

2个回答

29

如果您尝试将文本设置为列表中某个项目的文本,则应该可以正常工作。

如果您尝试将其设置为不在列表中的项目,则需要将IsEditable属性设置为true。如果您实际上不希望用户在组合框中输入,可以将IsReadOnly属性设置为true。

如果以上情况都不适用,请您发布您正在使用的代码。


1
我想提一下这个问题,因为我刚刚浪费了几个小时去解决它。如果您尝试设置的文本不是列表中的项目之一,并且您正在使用MultiBinding(即first + name name),并且您将IsEditable =“True”设置为使其按照Ray建议正常工作当您选择一个项目时,文本将显示对象类型(即MY.Project.Person),而不是正确的文本。我还没有找到解决方案。 - modernzombie
@modernzombie:在对象中重写ToString() - SLaks
1
@modernzombie 或者,使用ComboBoxItem,并将项目的Tag设置为实际对象,将内容设置为要显示的字符串。 - Lee Louviere

0

您也可以尝试添加一个Visibility=Collapsed的ComboBoxItem,将其设置为选定项,并将其内容设置为所需内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接