我需要将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 = ???;
}
答案 0 :(得分:2)
您可以阅读所选项目文本,例如:
ListBoxItem item = ((ListBox)sender).SelectedItem as ListBoxItem;
String itemText = (item != null) ? item.Content.ToString() : String.Empty;
您必须将SelectedItem属性强制转换为列表中的对象类型。 在这个例子中,我使用了ListBoxItem。