私はキャンバスから継承する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. JavaFX:新しいユーザーが追加されたときに、別のタブ(テキストエリアを含む)を追加するにはどうすればよいですか?
- 3. Azureストレージテーブルに新しいエントリが追加されたときに通知する
- 4. サービスがboto3に追加された時期を知るにはどうすればよいですか?
- 5. 新しいフィールドが追加されたときにクローン/コピーの方法を破らないようにするにはどうすればよいですか?
- 6. 新しいアイテムが追加されたときにRecyclerviewの子アイテムのEditextでカーソルを取得するにはどうすればいいですか?
- 7. jQueryでは、新しい要素が追加されたときに「ライブ」メソッドを使用して警告するにはどうすればよいですか?
- 8. 選択したノードに新しいツリービューを追加するにはどうすればいいですか?
- 9. 新しく追加されたHubSectionにスクロールするにはどうすればよいですか?
- 10. Masonry:新しいアイテムが追加されたときにデフォルトアニメーションをフェードインする方法を変更するにはどうすればよいですか?
- 11. データベースが更新されたときにページを更新するにはどうすればよいですか?
- 12. 新しいアイテムが追加されたときにlist.end()が変更されないのはなぜですか?
- 13. 動的に追加されたサムネイルにマウスを置いているときにスタイルを追加するにはどうすればよいですか?
- 14. ステージに追加されたアクタにコールバックを追加するにはどうすればよいですか?
- 15. App Storeで新しいアップデートやバージョンがリリースされたときにユーザーに通知するにはどうすればいいですか?
- 16. ボタンを押すたびに新しいテキストビューを追加するにはどうすればよいですか?
- 17. 新しく追加されたエンティティを返すにはどうすればよいですか?
- 18. AndroidでMathViewに新しい行を追加するにはどうすればいいですか?
- 19. Eclipseで簡単に新しいメソッドを追加するにはどうすればいいですか?
- 20. script/railsで新しいアクションとビューを追加するにはどうすればよいですか?
- 21. JavascriptInterfaceが追加されたwebviewを取得するにはどうすればいいですか?
- 22. Java:CanvasがJFrameに追加されたときにキャンバスのサイズが変更されないようにするにはどうすればよいですか?
- 23. forループごとにデータフレームに新しい列を追加するにはどうすればよいですか?
- 24. 新しいレコードがデータベースphp-jqueryに追加されたときの通知
- 25. 新しいデータが他のコントローラに追加されたら、コントローラを更新するにはどうすればいいですか?
- 26. リクエストメッセージに新しい行を追加して返信するにはどうすればいいですか?
- 27. BingマップユーザーがUIElement(トンネリングバブル)をクリックしたときにSilverlightコントロールがパンできない
- 28. PythonアプリケーションがGAEにデプロイされたときのタイムスタンプを知るにはどうすればよいですか?
- 29. Yii2で新しいアプリケーションフォルダを追加するにはどうすればいいですか?
- 30. Pythonで新しいモジュールを追加するにはどうすればいいですか?