2017-02-23 12 views
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ページから離れてナビゲートし、アイテムリストがリフレッシュされ、スクロール位置が失われます。 ListViewItemsSourceCollectionに直接バインドすると、それは完全に機能するため、間違いなくCollectionViewSourceによって導入された問題です。

CollectionViewSourceにキャッシュをうまく再生させる方法はありますか? ViewModelに

public ObservableCollection<object> Collection {get;set;} = new ObservableCollection<object>(); 

答えて

1

てみてくださいまた、Xませんバインディングの使用を試すことができます。

+0

許をバインドします。 'x:Bind'の代わりに' Binding'を使うと、それを修正します。ありがとう! – RareNCool

+0

@RareNCool問題は* Binding/x:Bind *ではありませんでした。両方ともうまくいくでしょう。元のコードには、コレクション内に '{get; set;}'がありません。MSDNによれば、プロパティにのみバインドできます。 – Romasz

+0

@Romaszいいえ、私はまだ '{get;セット; } 'それは、' Binding'ではうまく動作し、 'x:Bind'ではうまく動作しません。私は '{get;セット; } 'を使用し、' x:Bind'を使用しても動作しません。 – RareNCool

関連する問題