1
工作,我有一個非常基本的設置:CollectionViewSource綁定不NavigationCacheMode
在我的ViewModel:
public ObservableCollection<object> Collection = new ObservableCollection<object>();
在我的XAML:
<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>
的問題是,當我離開並返回到頁面,項目列表刷新並且滾動位置丟失。這絕對是由CollectionViewSource
引入的一個問題,因爲如果我將我的ListView
ItemsSource
直接綁定到Collection
,它完美地工作。
有什麼辦法可以讓CollectionViewSource
與緩存一起玩嗎?
呵呵。使用'Binding'而不是'x:Bind'修復它。謝謝! – RareNCool
@RareNCool問題不在於* Binding/x:綁定* - 兩者都可以正常工作。你的原始代碼在你的集合中缺少'{get; set;}',正如MSDN所說 - 你只能綁定到屬性。 – Romasz
@Romasz不,我還沒有'{get;組; }'就可以了,而且''Binding''而不是'x:Bind'就可以正常工作。我也嘗試添加'{get;組; }'並使用'x:Bind',它不起作用。 – RareNCool