Почему список элементов wpf отключен после изменения источника элементовC#

Место общения программистов C#
Anonymous
Почему список элементов wpf отключен после изменения источника элементов

Сообщение Anonymous »

Я собираюсь создать постраничный просмотр списка.

Я почти реализовал все функции, кроме отображения индекса.

Я передаю listviewitem в конвертер как мультипривязку для отображения индекса.
/>
Но listview отображает индекс до 2-й страницы, но на 3-й странице генерирует исключение, поскольку переданный элемент listviewitem отключен.
Когда я использую одинарную привязку (без startpos), это работает хорошо. он генерируется только при мультипривязке.
Снимок экрана с ошибкой: значения[1] отключены.item:
Изображение

Это часть файла usercontrol.xaml.cs:

Код: Выделить всё

public static readonly DependencyProperty DisplayListProperty
= DependencyProperty.Register("DisplayList", typeof(List), typeof(PagingGrid));
public List? DisplayList
{
get => (List)this.GetValue(DisplayListProperty);
set
{
SetValue(DisplayListProperty, value);
}
}
Это usercontrol.xaml: Это конвертер:

Код: Выделить всё

public class IndexConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{

ListViewItem item = (ListViewItem)values[0];
ListView listView = (ListView)ItemsControl.ItemsControlFromItemContainer(item);
int startPos = (int)values[1];
int index = listView.ItemContainerGenerator.IndexFromContainer(item) + 1 + startPos;
return index.ToString();
//return (((List)values[2]).FindIndex(a => a.RetweetId == ((Retweet)values[0]).RetweetId) + (int)values[1]).ToString();
}

public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
Текущий дизайн пользовательского элемента управления:
Изображение


Подробнее здесь: https://stackoverflow.com/questions/706 ... rce-change

Вернуться в «C#»