Установка объекта Label в соответствии с выбранным элементом списка - PullRequest
0 голосов
/ 18 марта 2012

Мне нужно связать Label с двумя ListBox эс. Для этого я установил для свойства SelectionChanged обоих ListBox es одну и ту же функцию:

<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 Ответ

2 голосов
/ 18 марта 2012

Вы можете прочитать выбранный текст элемента, выполнив что-то вроде:

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

Необходимо преобразовать свойство SelectedItem к типу объекта, имеющегося в списке.В этом примере я использовал ListBoxItem.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...