1
では動作しませんバインディング、私は非常に基本的なセットアップを持ってCollectionViewSource NavigationCacheMode
<Page NavigationCacheMode="Enabled"
...>
...
<CollectionViewSource x:Name="CVS"
x:Key="CVS"
Source="{x:Bind ViewModel.Collection, Mode=OneWay}" />
<ListView ItemsSource="{Binding Source={StaticResource CVS}, Mode=OneWay}">
...
</ListView>
</Page>
問題があるときにIページから離れてナビゲートし、アイテムリストがリフレッシュされ、スクロール位置が失われます。 ListView
ItemsSource
をCollection
に直接バインドすると、それは完全に機能するため、間違いなくCollectionViewSource
によって導入された問題です。
CollectionViewSource
にキャッシュをうまく再生させる方法はありますか? ViewModelに
public ObservableCollection<object> Collection {get;set;} = new ObservableCollection<object>();
で
許をバインドします。 'x:Bind'の代わりに' Binding'を使うと、それを修正します。ありがとう! – RareNCool
@RareNCool問題は* Binding/x:Bind *ではありませんでした。両方ともうまくいくでしょう。元のコードには、コレクション内に '{get; set;}'がありません。MSDNによれば、プロパティにのみバインドできます。 – Romasz
@Romaszいいえ、私はまだ '{get;セット; } 'それは、' Binding'ではうまく動作し、 'x:Bind'ではうまく動作しません。私は '{get;セット; } 'を使用し、' x:Bind'を使用しても動作しません。 – RareNCool