【问题标题】:Shortest way to get display value from wpf combobox从 wpf 组合框获取显示值的最短方法
【发布时间】:2011-03-25 19:00:09
【问题描述】:

为了从 WPF 组合框中获取当前显示的值,我得到了GetSelectedItem(这给了我一个dataRowView,因为我的itemSource 是一个DataView),然后得到了相应的列。

我希望有一种直接的方法来获取显示值,就像我们拥有 SelectedValue 属性一样。

有人知道更好的方法吗?

【问题讨论】:

  • 在这里定义“价值”。您已经拥有 SelectedItemSelectedValue 属性。如果您想要模板显示的数据,您不能以相同的方式通过“选定”属性获取数据吗?

标签: wpf combobox


【解决方案1】:

您使用的是 ADO.Net 类 DataTable,对吗?

您可以非常简单地设置显示值:

<ComboBox x:Name="myComboBox" ItemsSource="{Binding}" DisplayMemberPath="SomeColumn"
          SelectedValuePath="SomeColumn"/>

在此示例中,组合框显示列 SomeColumn 的值。输入一个正确的列名,而不是这个虚拟的。

在代码隐藏中:

myComboBox.DataContext = myDataSet.Customers; //any table
var selectedValue = myComboBox.SelectedValue;    //The displayed value (SomeColumn)
var fullRow = myComboBox.SelectedITem;        //dataRowView, I think

【讨论】:

  • @cagespear 您需要为属性 DisplayMemberPath 和 SelectedValuePath 设置相同的字符串,然后使用 SelectedValue 属性,而不是 SelectedItem。
  • 将其标记为答案,因为它毕竟对我有所帮助。这是我在 WPF 中非常天真时发布的问题之一,并且在 WPF 编程一年之后看到自己的问题感到有点愚蠢:)
猜你喜欢
  • 2010-12-10
  • 1970-01-01
  • 1970-01-01
  • 2014-06-05
  • 1970-01-01
  • 1970-01-01
  • 2013-10-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多