WPFでContentControlやその他のコンテナを使用します。新しい子コントロールをコンテナに追加して通知が必要です。新しく作成されたコントロールを親内で取得する最善の方法は何ですか?WPF新しく追加されたコントロールをキャプチャするイベント?
4
A
答えて
3
ContentControlにはContentControl.Contentプロパティを介して結合している単一の子供が含まれています。 ContentControl.OnContentChangedをフックすると、このプロパティの値がいつ更新されるかを検出できます。
1
もっともきれいな方法は、それらのコントロールから派生し、興味のある変更を報告するメソッドをオーバーライドすることです。たとえば、ContentControl
から派生し、OnContentChanged
を実装します。このアプローチはあなたを魅了しないかもしれません。
コントロールから派生することなくコントロールの子または子の変更を検出する場合は、そのような変更がレイアウトに影響し、LayoutUpdated
イベントをフックできることがわかります。このアプローチの問題点は、変更を探してChild
またはChildren
を調べて、以前に追加した子供を追跡する必要があることです。あなたはまた、メモリリークを作成しないように、元の子供への言及にぶつからないように注意する必要があります。しかし、それを行うことができます。
関連する問題
- 1. 動的に追加されたコントロールにイベントを追加します。
- 2. ランタイム中に追加されたコントロールのイベントを処理する
- 3. 動的に追加されたコントロールに基本イベントを追加する
- 4. WPF - 上部にないコントロールからイベントをキャプチャします。
- 5. 新しく追加されたコントロールはフォームにペイントされません
- 6. グリッド内に動的に追加されたコントロールを移動 - WPF
- 7. 新しく追加されたレコードにバインドするエンティティへのWPFとLINQ
- 8. 新しいコントロールを追加した後に新しい行を追加する
- 9. スタイルwpfにコントロールを追加する
- 10. WPFコントロールにカスタムプロパティを追加する
- 11. WPFの新しく追加された項目に選択を設定TreeView
- 12. Androidでダイナミックに追加されたレイアウトからイベントをキャプチャする方法
- 13. mousedownにコントロールを追加して新しいコントロールを追加すると、マウスが表示されます
- 14. 動的に作成されたWPFコントロールにイベントハンドラーを追加する
- 15. プログラムで作成されたコントロールのリストにイベントを追加する
- 16. WPFでイベントを追加するLineSeries DataPoint
- 17. 新しく追加された列をRailsに移入する
- 18. syncfusion ejtreegrid新しく追加されたノードを変更する
- 19. mysqlで新しく追加されたテーブルレコードを操作する
- 20. jqgrid - 新しく追加された行を編集する
- 21. WPF:アイテムがListViewに追加されたときにイベントを発生させる
- 22. WPF - 動的に追加されたTabitemに動的コントロールを追加しますか?
- 23. Android Studioは新しく追加されたメソッドのテストを追加します
- 24. 動的に追加されたコントロールのイベントは発生しません。
- 25. Vs2015 C#wpfは新しいコントロールを追加した後でコントロール名を参照できません
- 26. SVNで新しく追加された行を見つける
- 27. 追加されたNULL列を更新してください
- 28. iOS Storyboardコントロールにアクセスしてイベントハンドラを追加し、ストーリーボードに追加されたコントロールにデータをバインドする方法
- 29. 追加されたワークシートのコントロール位置
- 30. 実行時に追加された多くのコントロールのイベントを区別する方法