wpf:获取组合框值

标签 wpf combobox

我有一个名为 cbFileSize 的 WPF ComboBox。我尝试像这样获取选定值:

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

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

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

最佳答案

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

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

编辑(更多信息): 如果您以后将组合框值列表绑定(bind)到字符串集合,您就可以按原样进行。但是,您在 ComboBox 中放置了 ComboBoxItems 的集合,因此您的 selectedItem 或 selectedValue 将是一个 ComboBox Item:

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

我假设您正在做与上述类似的事情。由于您将获得一个 ComboBoxItem 作为您选择的项目,您只需对其进行转换,然后获取内容(即您的数值)。

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

关于wpf:获取组合框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2587012/

相关文章:

c# - 在 WPF 应用程序中使用 Xbox 360 Controller

.net - 只读 Windows 窗体组合框

c# - WPF、PRISM 和事件聚合器

C# 组合框 SelectedValue Null

c# - 带有复选框的 WPF ComboBox 显示有关选中项目的信息?

javafx - 组合框选择特定对象 ID

WPF Combobox SelectedItem 不在 Itemssource 中

c# - 如何在没有我的 WPF 主机的情况下启动具有管理员权限的进程也以管理员权限运行以实现文件拖放?

wpf - 如何为 WPF 中的单选按钮绑定(bind) Checked 事件?

c# - 在 WPF MVVM 中绑定(bind)图像