根据列表框选择项目设置Label对象

时间:2012-03-17 23:53:58

标签: c# wpf xaml binding

我需要将Label绑定到两个ListBox es。为此,我将SelectionChanged es的ListBox属性设置为相同的函数:

<ListBox Name="ListBox1" SelectionChanged="UpdateSelectedItem" />
<ListBox Name="ListBox2" SelectionChanged="UpdateSelectedItem" />
<Label Name="DetailsLabel" DataContent="DefinedElsewhere" />

但是我无法找到所选项目的实际内容。我已经浏览了发送对象和SelectionChangedEventArgs的所有属性,但我找不到它。 ListBox绑定到ObservableCollection个对象,我希望Label显示上次选中项目的属性,无论选择哪个ListBox 。我怎么找到它?

private void UpdateSelectedItem(object sender, SelectionChangedEventArgs e)
{
     DetailsLabel.Content = ???;
}

1 个答案:

答案 0 :(得分:2)

您可以阅读所选项目文本,例如:

ListBoxItem item = ((ListBox)sender).SelectedItem as ListBoxItem;
String itemText = (item != null) ? item.Content.ToString() : String.Empty;

您必须将SelectedItem属性强制转换为列表中的对象类型。 在这个例子中,我使用了ListBoxItem。