gpt4 book ai didi

c# - 单击另一个按钮无法获取组合框选择的项目值

转载 作者:行者123 更新时间:2023-11-30 20:18:12 25 4
gpt4 key购买 nike

我有一个组合框 cmbOptions 和一个按钮 btnShowItem

代码如下:

private void btnShowItem_click(object sender, RoutedEventArgs e)
{
string item = ((ComboBoxItem)cmbOptions.SelectedItem).Content.ToString(); //Exception is here
}

以下是异常(exception)情况:

System.InvalidCastException: "Unable to cast object of type 'System.String' to type 'System.Windows.Controls.ComboBoxItem'."

我已经浏览了很多这样的链接:

Cannot get ComboBox selected item value

ComboBox- SelectionChanged event has old value, not new value

Get selected value from combo box in c# wpf

等等等等

但没有得到解决方案。

请注意我只需要在按钮点击时获取 comboboxItem 的值,而不是在 cmbSelectionChange 事件上

最佳答案

通过使用 .Content.ToString() 将整个内容转换为字符串,而您正试图将此结果字符串转换为 ComboBoxItem,这样的转换是不允许的,但是您可以将 SelectedItem 转换为 ComboBoxItem,然后从中获取值。尝试这样的事情:

ComboBoxItem currentItem = (ComboBoxItem)cmbOptions.SelectedItem; // this will be the comboBoxItem
string item =currentItem.Content.ToString(); // gives you the required string

如果将这两个步骤结合起来,您可以这样写:

string item =((ComboBoxItem)cmbOptions.SelectedItem).Content.ToString(); 

补充说明:

仍然,您会得到相同的异常,这意味着 SelectedItem 将是一个字符串,请尝试像这样获取值:string item = cmbOptions.SelectedItem.ToString() ,这会发生,因为您可以分配 DisplayMemberPath

关于c# - 单击另一个按钮无法获取组合框选择的项目值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41974273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com