Снимите флажок выбора элемента в списке C#

#c# #wpf #listbox #selecteditem

#c# #wpf ( ВП ) #поле со списком #выбранный элемент #wpf #список

Вопрос:

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

В методе OnRequestClose();

 string itemName=workTab.DisplayName;
foreach (QResult r in FileListBox.SelectedItems)
 {
  If(r.FileName = itemName) //Clear the Selection
  

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

Спасибо за помощь.

Комментарии:

1. Установить SelectedIndex=-1

2. WPF без mvvm? WPF не оплачивает свою сложность, если вы не реализуете этот шаблон.

Ответ №1:

Это должно сработать:

 foreach (var r in FileListBox.SelectedItems.Cast<QResult>().ToList())
{
    if (r.FileName == itemName) //Clear the Selection
    {
        FileListBox.SelectedItems.Remove(r);
    }
}
  

Ответ №2:

Вы пробовали:

 string itemName=workTab.DisplayName;
var i=0;
while (i<FileListBox.SelectedItems.Count)
 {
  QResult r = FileListBox.SelectedItems [i] 
  if(r.FileName = itemName){
     FileListBox.SelectedItems.Remove(r);
  }
  i  ;
}