#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 ;
}