画像をGridView
に徐々に表示する必要があります。したがって、GridView
で選択されたアイテムを見つけるには、GridView
アイテムのIsSelected
プロパティは、CLR object
の対応するバインディングオブジェクトプロパティ(GridView's ItemSource
タイプのプロパティ)とバインドしています。 UWP
はRelativeSouce
をサポートしていないため、インターネットで検索したところ、以下のコードが見つかりました。GridViewItem UWPアプリケーションのIsSelectedバインディング
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);
}
}
しかし、上記の方法には欠陥があるようです。ページがスクロールダウンされて次の写真セットがロードされると、前回選択されたアイテムは選択を失います。
上記の問題を解決する前にこの問題を経験したことがありますか?
しかし、GridViewItem.IsSelectedPropertyにバインドして、ページでユーザーが選択したアイテムのバックグラウンドでIsSelectedを設定する方法はありますか? – user1672994
ユーザーがアイテムをタップしてモデルを取得し、IsSelectedプロパティを取得し、trueに設定します。 'GridViewItem.IsSelectedProperty'については忘れてしまいます。サンプルで無視するので、何もしません。 – thang2410199
誰でもいいですか?これは私が知っているほとんどすべてのアプリケーションに不可欠であり、信頼できる方法はありません。 – SuperJMN