将组合框中选择的值乘以标签中的数字

时间:2013-04-05 21:04:55

标签: c# combobox label runtime-error valueconverter

我正在尝试研究如何将ComboBox中的选定值乘以存储在标签中的字符串值。我已尝试将这两个值都转换为int,但此错误仍会出现:

无法将类型为“System.Windows.Controls.ComboBoxItem”的对象强制转换为“System.IConvertible”。

int quantity = Convert.ToInt32(comboBox3.SelectedItem);
int price = Convert.ToInt32(label1.Content);
label2.Content = quantity*price;

非常感谢

2 个答案:

答案 0 :(得分:0)

你想要SelectedItem的内容,而不是SelectedItem本身(假设是WPF):

Convert.ToInt32(comboBox3.SelectedItem.Content);

但是如果您设置了SelectedValuePath并且正在使用某些数据绑定到模型,则可以更简单地获取所选值(如果模型是整数,则甚至不使用转换):

comboBox3.SelectedValue

答案 1 :(得分:0)

我不太清楚它是ComboBoxItem的确切属性(我认为Text),但你需要获取其字符串的值而不是整个对象来执行转换。之后,只需使用int的{​​{1}}类方法。