获取wpfcombobox选择的值
如何从下面的示例中将所选值(例如Option1
)作为string
获取。 我在Google上尝试过很多建议,但无法获得字符串。
XAML:
Option1 Option2 Option3
代码隐藏:
private void selectOption_SelectionChanged(object sender, SelectionChangedEventArgs e) { var selectedValue = selectOption.SelectedValue; } //elsewhere in code var test = viewModel.VMselectedOption;
selectedValue和test都返回字符串“ System.Windows.Controls.ComboBoxItem:Option1 ”而不是“ Option1 ”
这应该是非常简单但我不能让这个工作或看到什么是错的?
您不应手动插入combobox项目。 使用ItemsSource
设置它们。
基本上,您应该创建一个选项列表(或表示选项的对象)并将它们设置为ItemsSource
,这样您的SelectedItem
将完全是所选的选项,而不是自动创建的包装ComboboxItem
。
您应该设置SelectedValuePath =“Content”。
Option1 Option2 Option3
string Value=""; if(myComboBox.SelectedIndex>=0) Value=((ComboBoxItem)myComboBox.SelectedItem).Content.ToString();
更新代码以获取comboboxItem的内容。
var selectedValue = ((ComboBoxItem)selectOption.SelectedItem).Content.ToString();
ComboBoxItem.Content的类型为Object,因此您需要自己投射项目。