0
私の問題はProgressRingが常に実行されていることです。私はMVVMを使用します。 ProgressRingは、アプリが新しいデータを取得した場合にのみアクティブになります。XAML ProgressRingが停止しない
私はVM内のコード(私はViewModelに更新)を持つ:
public class MainPageViewModel : ObservableCollection<AdModel>, ISupportIncrementalLoading{
private Visibility _loaderVisibility;
public Visibility LoaderVisibility
{
get { return _loaderVisibility; }
private set
{
_loaderVisibility = value;
}}
public IAsyncOperation<LoadMoreItemsResult> LoadMoreItemsAsync(uint count)
{
CoreDispatcher coreDispatcher = Window.Current.Dispatcher;
return Task.Run<LoadMoreItemsResult>(async() =>
{
await coreDispatcher.RunAsync(CoreDispatcherPriority.Normal,
() =>
{
this.LoaderVisibility = Visibility.Visible;
});
var NewAds = new ObservableCollection<AdModel>();
do{NewAds = await LoadAds();//get data from API}
while (NewAds == null);
await coreDispatcher.RunAsync(CoreDispatcherPriority.Normal,
() =>
{
foreach (AdModel item in NewAds)
{
this.Add(item);
}
this.LoaderVisibility = Visibility.Collapsed;
});
return new LoadMoreItemsResult() { Count = count };
}).AsAsyncOperation<LoadMoreItemsResult>();}}
私のクラスはObservableCollectionを継承していますので、このインタフェースを実装しています。 "System.ComponentModel.INotifyPropertyChanged.PropertyChangedイベントは、+ =または - ="の左側にしか表示されません。 – Quiet
'VM'クラス全体のコードを貼り付けることはできますか?無関係のプロパティを削除します。 – kennyzx
Udpated。 XAMLとコードを削除したのは、コードがたくさんあるからです。 – Quiet