1

タブ コントロールと、プログラムによって設定され、カスタム コントロールを含む多数のタブ項目があります。その時点で、各カスタム コントロールがインスタンス化initializeComponentされ、タブ コントロールが作成されるときにすべてのユーザー コントロールで呼び出されます。

一部のユーザーコントロールには膨大な量のデータが含まれている可能性があり、データベース接続を初期化する可能性があるため、これは悪い方法だと思います。これをできるだけ効率的にしたいと考えています。私がやりたいことは、各ユーザー コントロールが配置されているタブが実際に選択されてユーザーに表示されるまで、各ユーザー コントロールによって行われる作業の量を最小限に抑えることです。

掘り下げた後、この詳細が折りたたまれたコントロールの初期化を遅らせていることがわかりました。タブでこれを機能させることができましたが、さらに掘り下げた後、LoadedUnloadedイベントを見つけることができました。initializeComponentユーザー コントロール コンストラクターから削除してLoadedイベント ハンドラーに追加するだけで、遅延初期化を実現できますか?

unloadedまた、理想的には、イベントが発生したときに、次にイベントが発生するまで、ユーザーコントロールを初期化しないことですloaded。initializeComponent 中に発生する xaml の読み込みを逆にする方法はありますか?

これは些細な答えではないかもしれませんが、ガイダンス/ヘルプをいただければ幸いです。

さらに情報が必要な場合はお知らせください。

4

0 に答える 0