选择的组合框的文本
问题描述:
我怎样才能在下拉框中的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选定的文本,如何拿到
答
在SelectionChanged
事件处理程序中,您既可以查看组合框本身的cboRecordType.SelectedItem
属性,也可以查看传递到事件处理程序的SelectionChangedEventArgs
的AddedItems
属性。
选择某个项目时,该项目将被添加到事件参数的AddedItems
数组属性中。 (多选案例中的多个项目)。当一个项目被取消选择时,它被添加到事件参数的RemovedItems
数组属性中。
答
在后面的代码,你需要处理这样的代码事件: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)
{
}
答
您可以尝试绑定方法,而不是处理事件。对于您需要创建一个属性喜欢这一点,并把它绑定到你的组合框的选择项
private String _selectedItem;
public String SelectedItem
{
get { return _selectedItem; }
set
{
_selectedItem = value;
OnPropertyChanged(new PropertyChangedEventArgs("SelectedItem"));
}
}
<ComboBox SelectedItem="{Binding SelectedItem}" />
旁注:您还可以填写一些收集,并将其绑定到组合框,而不是硬编码
的
答
更好的请尝试使用Command和CommandParametar作为MVVM实现的一部分。
它会返回以下值 {System.Windows.Controls.ComboBoxItem:Weight} 但我只需要重量我怎么能得到它 – 2010-05-18 06:50:30
@Asim - 使用SelectedItem.Content? – Gishu 2010-05-18 07:50:02
@Gishu:没有看到SelectedItem的内容的任何属性 – 2010-05-18 09:10:05