1

私は、コントロールの少ないカスタムルックを持っています。スタイルを作成し、スタイルに依存関係プロパティを設定しました。

テンプレートでコントロールの背景を設定するにはどうすればよいですか。依存関係プロパティを明示的に宣言せずにこれを行うことはできますか?

public class AddressCustomControl:Control
{
   static AddressCustomControl()
   {
       DefaultStyleKeyProperty.OverrideMetadata(typeof(AddressCustomControl), new ....)
   }

  // Few dependency properties here...

}

次に、themes フォルダーの Generic.xaml でレイアウトを定義し、上記のコントロールの targettype を指定します。

コントロールへのデータ バインディングに関しては、すべて問題ありません。

このコントロールの色と、フォントなどの他のいくつかのプロパティ、およびコントロールの使用中に前の色を変更する必要はありません。

このように xaml で指定すると、何も起こりません。

<local:AddressCustomControl Address={Binding BillAddress} Background="Silver" /> // Background does not change when I do this.

ここで何が欠けていますか?私は自分のスタイルで何かをしなければならないのでしょうか?

これが私のスタイルです:

<Style TargetType="{x:Type controls:AddressCustomControl}">
      <Setter Property="Template">... setter value and the control template here...          </Setter.Value> // May be I need to do something here that I am missing?
</Style>

御時間ありがとうございます!

4

1 に答える 1

1

Generic.xaml ファイルでは、コントロールに次のように設定する必要があります

Background={TemplateBinding Background}

追加情報については、このリンクの「テンプレートバインディングを使用してコントロールのプロパティの機能を保持する」セクションを確認してください。

于 2013-05-01T15:07:51.417 に答える