0

私はWP7.1が初めてです。友達のような画面があり、その画面には何千人もの友達がいるようなチャットアプリを開発しています.sqliteを使用してlonglistselectorにバインドしています。

主な問題は、フレンドの更新 (表示名、プロフィール写真など) を呼び出すための API が 1 つあり、API データを処理してデータを longlistselector にバインドしているのですが、バインド時に longlistselecor をスクロールできず、画面のその他のボタン。

Deployment.Current.Dispatcher.BeginInvoke(() => { Binding to }); を使用してデータをバインドしています。および Dispatcher.BeginInvoke(() => { Binding to }) および BackgroundWorker (これらの多くの方法を試しました)。

UI を妨げずにバインドする解決策を提案してください。

前もって感謝します。

-- チャンドラ

4

1 に答える 1

0

画面にデータをプッシュするときはいつでも (XAML {Binding} を介して、またはページの UI 要素に直接アクセスして)、UI スレッドで実行する必要があります。UI スレッドがコードの処理やコードによる UI の再描画でビジー状態になっている間、UI はフリーズします。

これは、BeginInvoke() 内のすべてをできるだけ短く効率的にする必要があることを意味します。ただし、BeginInvoke() の呼び出しはできるだけ少なくする必要もあります。これらのバランスを見つけることで、UI の体感速度が決まります。

LongListSelector の場合、一度に 50 個のアイテムを追加し、0.5 秒待ってから次の 50 個のアイテムを追加するのが効率的であることがわかりました。あなたのマイレージは異なる場合があります。

于 2012-09-06T07:14:02.833 に答える