【发布时间】:2010-07-02 21:53:24
【问题描述】:
在 WPF ComboBox 中没有 SelectedText 属性。
有没有办法实现与 WPF 中 TextBox SelectedText 相同的功能
【问题讨论】:
标签: wpf
在 WPF ComboBox 中没有 SelectedText 属性。
有没有办法实现与 WPF 中 TextBox SelectedText 相同的功能
【问题讨论】:
标签: wpf
您可以通过以下方式访问组合框的文本框:
var edit = (TextBox)myCombo.Template.FindName("PART_EditableTextBox", myCombo);
然后您可以访问该 TextBox 的 SelectedText 属性:
var selectedText = edit.SelectedText;
【讨论】:
由于 WPF 是“无外观”的,因此您可以以任何您希望的方式显示您的组合框项目。可能有也可能没有文本项。
MyCombo.SelectedText 没有任何意义,例如,如果你在那里显示图标。
你想要的是ComboBox.SelectedItem,然后访问你的对象。例如,如果您正在使用“人”对象的后备列表......MyComboBox.SelectedItem.PersonName
通常,SelectedItem 数据绑定到您的对象模型或另一个控件。
【讨论】:
没有名为 selectedText 的属性,但您可以通过ComboBox.SelectedValue.ToString() 方法实现。这是因为默认情况下组合框的值是 Object 类型,所以我们必须适当地进行类型转换。
【讨论】:
使用这个:
ComboBoxItem Item = (ComboBoxItem) YourComboBoxName.SelectedValue;
然后这个:
Console.WriteLine(Item.Content);
【讨论】:
你为什么不试试:
string selectedtext= Combobox.Text;
它对我有用。
【讨论】:
另一种方法:
(string)comboBox.SelectedItem.GetType().GetProperty(DisplayMemberPath).GetValue(comboBox.SelectedItem);
【讨论】: