0

私がUserControl書いた基本的なものは一般的に機能しますが、今はそれを改善したいと思っています。元のデザインはGrid、いくつかFrameworkElementsの 、 like RectangleTextBlock. 問題は、それを機能させるために、大量の冗長な依存関係プロパティを作成したことです。たとえば、これらのプロパティでコントロールのWidthandを設定する代わりに、 andHeightという名前の新しいものを作成する必要がありましたが、これは本当に不十分です。MyControlWidthMyControlHeight

を使用してコントロールを書き直し始めました。とをの の中Labelに入れました。今私の問題は、正常に動作しているように見えますが、他の依存関係プロパティの一部が動作しないことです。RectanglesTextBlockLabelControlTemplateHeightWidth

たとえば、コントロールにユーザー指定の丸い角を持たせたいので、という依存関係プロパティを作成し、OutlineRadiusそれを使用して と を設定RadiusXRadiusYますRectangle。さて、アプリケーションを実行すると、次のようなデータバインディング エラーが表示されます。

System.Windows.Data エラー: 40: BindingExpression パス エラー: 'OutlineRadius' プロパティが 'object' ''MyTestApplication' (Name='')' に見つかりません。BindingExpression:Path=OutlineRadius; DataItem='MyTestApplication' (Name=''); ターゲット要素は 'Rectangle' (Name='') です。ターゲット プロパティは 'RadiusX' (タイプ 'Double') です。

ここで、どこが間違っているのか誰か教えてもらえますか? Styleアプリケーションで を作成してに適用することも検討していましたが、 を使用するときに既存のコントロールにプロパティを追加できるかどうかわからないためLabel、まだ問題が発生します。OutlineRadiusStyle

4

0 に答える 0