カスタムUIを追加するための最良の方法を見つけようとしています(意図的にカスタムコントロールとは呼びたくありません)。カスタムコントロールを作成したいのですが、テンプレート化する必要はありません。他のコントロールを使用して視覚的に実装したいと思います。私の例では、実装にPathオブジェクトを使用するコントロールを作成しようとしています。作成時にパスコントロールをビジュアルツリーに「追加」したかったのです。いくつかの依存関係プロパティを公開し、依存関係プロパティが変更されたときにPathオブジェクトを更新するようにします。
私の最初のアプローチは、Controlから継承し、パス「Part」を定義し、「OnApplyTemplate」ルーチンで見つけて、必要に応じて更新することでしたが、それは非常にやり過ぎのようです。私が実装するコントロールには、別のコントロールテンプレートを取得する機能がありますが、機能はその中の単一のパスオブジェクトを想定する必要があり、このパスのほとんどのプロパティをオーバーライドするため、まったく役に立ちません。また、Background、BorderBrush、BorderThicknessなど、必要のない多くのプロパティも公開します。これらはすべて使用せず、公開する他のプロパティから計算します。
したがって、問題は、代わりにFrameworkElementから継承する必要があるかどうかです。継承する場合、新しいカスタムコントロールを実装するために使用するPathオブジェクトを「植える」にはどうすればよいですか。