2010-05-18 91 views
1

我怎样才能在下拉框中的SelectionChanged事件选定的文本 这里是我的代码选择的组合框的文本

<ComboBox x:Name="cboRecordType" Margin="2,0" Height="23" Grid.Column="1" VerticalAlignment="Center" SelectionChanged="ComboBox_SelectionChanged"> 
      <ComboBoxItem Content="Weight"/> 
      <ComboBoxItem Content="Height"/> 
      <ComboBoxItem Content="Blood Pressure"/> 
      <ComboBoxItem Content="Blood Gulocose"/> 
     </ComboBox> 

cboRecordType.Text是空的,没有cantain选定的文本,如何拿到

回答

1

SelectionChanged事件处理程序中,您既可以查看组合框本身的cboRecordType.SelectedItem属性,也可以查看传递到事件处理程序的SelectionChangedEventArgsAddedItems属性。

选择某个项目时,该项目将被添加到事件参数的AddedItems数组属性中。 (多选案例中的多个项目)。当一个项目被取消选择时,它被添加到事件参数的RemovedItems数组属性中。

+0

它会返回以下值 {System.Windows.Controls.ComboBoxItem:Weight} 但我只需要重量我怎么能得到它 – 2010-05-18 06:50:30

+0

@Asim - 使用SelectedItem.Content? – Gishu 2010-05-18 07:50:02

+0

@Gishu:没有看到SelectedItem的内容的任何属性 – 2010-05-18 09:10:05

0

在后面的代码,你需要处理这样的代码事件:ComboBox SelectionChanged 代码块

/// <summary> 

/// Handles the comboBox SelectionChanged event 

/// </summary> 

/// <param name="sender"></param> 

/// <param name="e"></param> 

private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) 

{ 



} 
0

您可以尝试绑定方法,而不是处理事件。对于您需要创建一个属性喜欢这一点,并把它绑定到你的组合框的选择项

private String _selectedItem; 
public String SelectedItem 
{ 
    get { return _selectedItem; } 
    set 
    { 
     _selectedItem = value; 
     OnPropertyChanged(new PropertyChangedEventArgs("SelectedItem")); 
    } 
} 

<ComboBox SelectedItem="{Binding SelectedItem}" /> 

旁注:您还可以填写一些收集,并将其绑定到组合框,而不是硬编码

0

更好的请尝试使用Command和CommandParametar作为MVVM实现的一部分。

相关问题