私はこのようなことをしようとしています...
<Style
x:Key="MyBorderStyle"
TargetType="Border">
<Setter
Property="BorderBrush"
Value="{StaticResource MyBorderBrush}" />
<Setter
Property="Background"
Value="{StaticResource MyBackgroundBrush}" />
<Setter
Property="Padding"
Value="{TemplateBinding Padding}" />
</Style>
...しかし、エラーが発生します:'Padding' member is not valid because it does not have a qualifying type name.
「修飾型名」を指定するにはどうすればよいですか?
注:これを実行しようとしている理由は、一連の同様のControlTemplatesに同じ境界線を含めたいためです。
ありがとう。
編集:
さてこれを試してみました...
<Setter
Property="Padding"
Value="{TemplateBinding GridViewColumnHeader.Padding}" />
...そしてそれは実際にコンパイルされました、しかしそれから私がアプリを実行したとき、私はXamlParseException
:を手に入れました
Cannot convert the value in attribute 'Value' to object of type ''.
おそらく(このスタイルを使用したいControlTemplateである)で修飾Padding
することは機能すると思いましたが、サイコロは機能しません。GridViewColumnHeader
編集2:
まあ、のドキュメントによるとTemplateBinding
、それは言う:
コントロールテンプレートのプロパティの値を、テンプレート化されたコントロールの他の公開されたプロパティの値にリンクします。
ですから、私がやろうとしていることはまったく不可能のように思えます。コントロールテンプレートの特定のコントロールに再利用可能なスタイルを作成できるようにしたいのですが、テンプレートバインディングをこれらのスタイルに含めることはできないと思います。