ComboBox到TextBox

时间:2016-06-22 08:24:48

标签: c# wpf combobox textbox

我尝试这样做:当用户更改ComboBox中的值时,TextBox必须显示选择。

这些是我的ComboBoxItems

<ComboBoxItem>Select Filter</ComboBoxItem>
<ComboBoxItem>by name</ComboBoxItem>
<ComboBoxItem>by age</ComboBoxItem>

方法:

private void filterCbx_SelectionChanged(object sender, SelectionChangedEventArgs e)
{                    
    String selection = this.filterCbx.SelectedValue.ToString();
    filterTxt.Text = selection;
}

结果:

  

System.Windows.Controls.ComboBoxItem:选择过滤器

当我更改选定的ComboBoxItem

时,会发生同样的情况
  

System.Windows.Controls.ComboBoxItem:按名称

     

System.Windows.Controls.ComboBoxItem:按年龄

我如何摆脱System.Windows.Controls.ComboBoxItem:部分?

2 个答案:

答案 0 :(得分:2)

仅使用 xaml

<TextBox Text="{Binding Path=SelectedValue.Content, ElementName=filterCbx}" />

答案 1 :(得分:0)

我的猜测是SelectedValue是ComboBoxItem,所以首先你需要投射它,然后把它当作内容:

String selection = string.Empty;
var selectedItem = this.filterCbx.SelectedValue as ComboBoxItem;
if (selectedItem != null)
 selection = selectedItem.Content.ToString();