wpf:获得组合框值

时间:2010-04-06 17:43:04

标签: wpf combobox

我有一个名为cbFileSize的WPF ComboBox。我试着得到这样的选择值:

string tmp = cbFileSize.SelectedValue.ToString();
MessageBox.Show(tmp);

但是tmp设置为“System.Windows.Control.ComboBoxItem:16”。

我应该使用哪个函数来获取值“16”?

2 个答案:

答案 0 :(得分:4)

string tmp =(cbFileSize.SelectedValue as ComboBoxItem).Content.ToString();

string tmp =(cbFileSize.SelectedItem as ComboBoxItem).Content.ToString();

编辑(更多信息): 如果稍后将组合框值列表绑定到字符串集合,则可以按照自己的方式执行此操作。但是,您在ComboBox中放置了一个ComboBoxItems集合,因此selectedItem或selectedValue将是一个ComboBox项:

<ComboBox x:Name="comboBox">
    <ComboBoxItem>15</ComboBoxItem>
    <ComboBoxItem>16</ComboBoxItem>
    <ComboBoxItem>17</ComboBoxItem>
</ComboBox>

我假设你正在做类似上面的事情。由于您获得了一个ComboBoxItem作为您选择的项目,您只需要转换它然后获取内容(这是您的数值)。

同样,建议的解决方案适用于上述设置,但是,将来您可能会将您的值绑定到您想要的类型(字符串或整数),以便手动将ComboBox项目放在ComboBox中。

答案 1 :(得分:0)

也可以简单地使用组合框的标签方法/属性

<ComboBoxItem Content="This Value" Tag="This Value"/>

然后在代码背后:

GetValue=ComboBoxName.SelectedItem.Tag.ToString()

获得价值将是&#34;这个价值&#34;代替 &#34; System.Windows.Controls.ComboBoxItem:此值&#34;