У нас есть требование отображать изображения в GridView
постепенно. Таким образом, чтобы найти выбранные элементы в GridView
, свойство IsSelected
элемента GridView
связано с соответствующим свойством объектов привязки CLR object
(свойство типа GridView's ItemSource
). Поскольку UWP
не поддерживает привязку RelativeSouce
и сеттера по стилю, поэтому после поиска в Интернете мы нашли приведенный ниже код.
public class GridViewEx : GridView
{
protected override void PrepareContainerForItemOverride(Windows.UI.Xaml.DependencyObject element, object item)
{
base.PrepareContainerForItemOverride(element, item);
var gridItem = element as GridViewItem;
var binding = new Binding { Mode = BindingMode.TwoWay, Source = item, Path = new PropertyPath("IsSelected") };
gridItem.SetBinding(SelectorItem.IsSelectedProperty, binding);
}
}
Но кажется, что в вышеописанном подходе есть изъян. Всякий раз, когда страница прокручивается вниз для загрузки следующего набора фотографий, предыдущие выбранные элементы теряют свой выбор.
Кто-нибудь сталкивался с этой проблемой раньше или какие-либо предложения по решению вышеуказанной проблемы?