gif を読み込んで同時にユーザーコントロールを読み込もうとするたびにプログラムが遅れるため、マルチスレッドが必要なため、Google を見回しました。むしろ、GIF がハングし、ページに遷移なしで突然ユーザー コントロールが表示されます。プログラムがどのように動作するか、
GIF を表示 -> ユーザーコントロールをロード -> Gif を非表示 -> アニメーションを実行 (単純なスライドが有効)
しかし、ユーザー コントロールの ui 要素をレンダリングするときの遅延のため、プログラムは次のように動作します。
Gif を表示 -->Gif がハング (またはフリーズ) --> ユーザー コントロールをすぐに表示
だから私は BackgroundWorker と呼ばれるものを見つけました。いいね 。まあ...完全ではありません。私はそれを試して、私のコードに適用しました
BackgroundWorker worker = new BackgroundWorker();
CrowdWatch_Portrait.CrowdWatch crowder;
//The page is a frame fyi
thePage.LoadCompleted += new LoadCompletedEventHandler(thePage_LoadCompleted);
worker.DoWork += delegate(object s, DoWorkEventArgs args)
{
crowder = new CrowdWatch_Portrait.CrowdWatch();
thePage.Content = crowder;
};
worker.RunWorkerAsync();
いいですね。実行しました。失敗した。それは私にこのエラーを与えました
多くの UI コンポーネントがこれを必要とするため、呼び出しスレッドは STA でなければなりません。
そのため、オンラインで再度調査したところ、このクラスを使用してユーザーコントロールをロードするシナリオは見つかりませんでした。だから私は助けを求めてコミュニティに頼ります....助けますか?