Как программно выбрать элемент в списке, используя его индекс, используя c # - PullRequest
1 голос
/ 18 августа 2011

У меня есть список, который можно редактировать.После того, как элемент в этом списке отредактирован и сохранен, новый отредактированный элемент отображается в списке, однако его положение изменяется.Я хочу, чтобы этот элемент был выделен или выделен даже после изменения его положения.Я могу получить его новый индекс, однако мне не удалось найти способ перевыбора программно после изменения его псевдонима в списке!

Любая помощь здесь будет принята с благодарностью Спасибо

Ответы [ 2 ]

2 голосов
/ 18 августа 2011
ListBox.SelectedIndex = newPosition;

или

ListBox.SelectedIndices.Add(newPosition);

с необязательным SelectedIndices.Clear (), если вы хотите, чтобы был выбран только ваш элемент.

0 голосов
/ 18 августа 2011

Я предполагаю, что источник - это какая-то коллекция.почему вы не используете свойство SelectedItem с Mode = TwoWay, чтобы выбрать нужный элемент из кода C #?

<ListBox ItemsSource="{Binding Path=YourItemsCollection}"
         SelectedItem="{Binding Path=MySelectedItem, Mode=TwoWay}" />

Другой способ - использовать метод ICollectionView MoveCurrentTo.все, что вам нужно сделать, это создать ICollectionView с CollectionViewSource.GetDefaultView (this.YourItemsCollection).если вы поступите таким образом, вам не нужно привязываться к SelectedItem, но вы должны установить IsSynchronizedWithCurrentItem = true для списка.

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