私はControl、FooControlを持っています。 HasErrorという名前の読み取り専用DependencyPropertyを公開する必要があります。このプロパティの値は、実際はFooControlのControlTemplateのコントロールからの値です。ControlTemplateの子コントロールから値を取得したコントロールの読み取り専用依存プロパティを公開します
それが読み書きたDependencyPropertyとしてFooControl.HasErrorを宣言するために私を強制的に除いて、次のコードは、私が欲しい、まさに実現(バインディングは、そうでない場合、値を設定することはできません。)
<ControlTemplate TargetType="FooControl">
<ChildControl HasError="{Binding HasError, RelativeSource={RelativeSource TemplatedParent}}" />
</ControlTemplate>
私がしようとしていますPART_を使って子コントロールを見つけたり、HasError ValueChangedイベントにアタッチしたり、値をコピーしたりするような煩わしい作業をする必要がありません。それは不快なので、私はこのようないくつかのプロパティを持っています。
私はあなたが基礎となるコントロールで検証を使用していると仮定し、それを依存関係プロパティを通して公開したいと思いますか? Validationクラスには、コントロールからエラーを取得するために使用される静的メソッドがあるという事実が役に立ちます。 http://msdn.microsoft.com/en-us/library/system.windows.controls.validation.gethaserror.aspx –