私はキャンバスから継承するsliverlightでユーザーコントロールを設計しています。新しいUIElement
がMyBaseのChildrenプロパティに追加されたときを知る必要がありますが、 "ItemAdded"のようなイベントはありません。キャンバスの子供たちをアニメーション化したいので、LayoutUpdated
イベント(百万回のヒット)を使うことはできません。Silverlightで新しいUIElementが追加されたときを知るにはどうすればいいですか?
2
A
答えて
1
子が追加/削除されると、Canvas
は自動的に無効にされ、測定/アレンジサイクルが発生します。したがって、追加/削除操作を明示的に追跡する必要はありません。
代わりに、MeasureOverrideメソッドをオーバーライドして、メソッド内で子セットを確認し、変更内容を確認する必要があります。これは、SilverlightがWPFよりもはるかに難しい領域の1つです。 WPFのような子を格納する独自のコレクションを提供することはできず、既存のChildrenコレクションにイベントをフックできません。
0
私にはSilverlightの公開はありませんが、WPFではコントロールのLoadedおよびInitializedイベントを使用できます。 a blog from Mike Hillberg from MSDN
initializedイベント
上
詳細情報要素のプロパティがすべて設定されて を持っている時に初期化イベントは、一般的に を発射。具体的には、 はのFrameworkElement/FrameworkContentElementの ISupportInitializeを実装し、そのインタフェース のEndInitメソッドが呼び出されたときに、IsInitializedプロパティ がtrueに設定され、初期化 イベントが発生します。
Loadedイベント
要素 のみが初期化されていないLoadedイベントの火災は、それがレンダリングされようとして です。 Loadedイベントの動機付け は、 のシナリオで、 の初期化をアプリケーションで実行し、ロード時に になります。
関連する問題
- 1. gitに追加された新しいファイルを無視するにはどうすればよいですか?
- 2. jQueryでは、新しい要素が追加されたときに「ライブ」メソッドを使用して警告するにはどうすればよいですか?
- 3. 選択したノードに新しいツリービューを追加するにはどうすればいいですか?
- 4. 新しいレコードがデータベースphp-jqueryに追加されたときの通知
- 5. データベースが更新されたときにページを更新するにはどうすればよいですか?
- 6. App Storeで新しいアップデートやバージョンがリリースされたときにユーザーに通知するにはどうすればいいですか?
- 7. 新しく追加されたエンティティを返すにはどうすればよいですか?
- 8. Eclipseで簡単に新しいメソッドを追加するにはどうすればいいですか?
- 9. script/railsで新しいアクションとビューを追加するにはどうすればよいですか?
- 10. JavascriptInterfaceが追加されたwebviewを取得するにはどうすればいいですか?
- 11. 新しい列と行をデータベースに追加するにはどうすればよいですか?
- 12. 新しいOutlookカレンダーイベントが追加されているかどうかを確認するにはどうすればよいですか?
- 13. PythonアプリケーションがGAEにデプロイされたときのタイムスタンプを知るにはどうすればよいですか?
- 14. 動的に追加されたラップされたdivでjqueryを使用してimageとdivを追加するにはどうすればよいですか?
- 15. リストボックスの新しい項目をポップアップウィンドウから追加するにはどうすればいいですか?
- 16. DoctypeがHTMLに追加されないようにするにはどうすればよいですか?
- 17. jqueryでドキュメントに新しい要素が追加されたことを検出するにはどうすればよいですか?
- 18. 新しいMicrosoft Charting Controlのデータポイントに縦線を追加するにはどうすればいいですか?
- 19. Railsアプリ - pdftkに新しい行を追加するにはどうすればいいですか?
- 20. mavlinkプロトコルに新しいメッセージを追加するにはどうすればいいですか?
- 21. Magentoに新しいページを追加するにはどうすればいいですか?
- 22. カスタムオプションに新しい値を追加するにはどうすればいいですか?
- 23. FB摩擦フリーアプリに新しい動詞を追加するにはどうすればいいですか?
- 24. Magento 1.9でレイアウトに新しいブロックを追加するにはどうすればよいですか?
- 25. iPhoneで水平スワイプイベントに新しいwebviewを追加するにはどうすればよいですか?
- 26. javascriptを含むHTMLが追加されていないため、どうすれば実行できますか?
- 27. PHPシリアル化された配列にデータを追加するにはどうすればいいですか?
- 28. Drupal 6フォーラムに解決されたステータスフィールドを追加する(un)にはどうすればいいですか?
- 29. Add-Type -TypeDefinitionが既に追加されていない場合、クラスを条件付きで追加するにはどうすればよいですか?
- 30. FubuMVC:新しいメソッドを追加するにはどうすればいいですかDisplayFor