我有一个名为cbFileSize的WPF组合框。我尽量选择价值,像这样得到:wpf:获取组合框值
string tmp = cbFileSize.SelectedValue.ToString();
MessageBox.Show(tmp);
但tmp目录被设置为“System.Windows.Control.ComboBoxItem:16”。
我应该使用哪个函数来得到值“16”?
我有一个名为cbFileSize的WPF组合框。我尽量选择价值,像这样得到:wpf:获取组合框值
string tmp = cbFileSize.SelectedValue.ToString();
MessageBox.Show(tmp);
但tmp目录被设置为“System.Windows.Control.ComboBoxItem:16”。
我应该使用哪个函数来得到值“16”?
string tmp =(cbFileSize.SelectedValue as ComboBoxItem).Content.ToString();
或
串TMP =(cbFileSize.SelectedItem如ComboBoxItem).Content.ToString();
编辑(了解更多信息): 如果您稍后将组合框值的列表绑定到字符串集合,则可以按照您的方式进行操作。但是,您将ComboBoxItems集合在你的组合框,让你的SelectedItem或了selectedValue将是一个组合框项目:
<ComboBox x:Name="comboBox">
<ComboBoxItem>15</ComboBoxItem>
<ComboBoxItem>16</ComboBoxItem>
<ComboBoxItem>17</ComboBoxItem>
</ComboBox>
我假设你正在做的事情就像上面。既然你得到了一个ComboBoxItem作为你选择的项目,你只需要将它转换并获取内容(这是你的数值)。
同样,建议的解决方案将适用于上述设置,但是,将来您可能会将您的值绑定到您想要的类型(字符串或整数),并将ComboBox项目手动放置在ComboBox中。
也可以简单地在代码中使用comboboxitem
<ComboBoxItem Content="This Value" Tag="This Value"/>
的标记方法/属性然后背后:
GetValue=ComboBoxName.SelectedItem.Tag.ToString()
获得值将是 “此值”,而不是 “System.Windows .Controls.ComboBoxItem:This Value“
should not it:string tmp =(cbFileSize.SelectedItem as ComboBoxItem).Content.ToString(); ?? – spong 2010-04-06 17:59:00
我编辑我的帖子,包括我正在做的假设。根据这个假设,SelectedItem或者SelectedValue都可以工作。 – Scott 2010-04-06 18:00:49