オブジェクト プロパティをテンプレートに反映させる

テンプレートを使用すると、コントロールの独自の外観を設定できます。たとえば、同じテンプレートを使用する RadioButton コントロールは、すべて外観が同じになります。しかし、これらの RadioButton コントロールの色だけを変更したい場合があります。このような場合は、テンプレートのバインドを使用すると、カスタム コントロールをデザインできると同時に、アプリケーションにコントロールを組み込むときに、必要な変更を加えることができます。

たとえば、Microsoft Expression Blend に付属している Zune3D サンプルでは、アプリケーションの下端にあるラジオ ボタンは形とハイライトが同じですが、色が違います。これは、テンプレートにあるオブジェクトの 1 つのオブジェクトの色を、そのテンプレートを使用する RadioButton コントロールの背景の色にバインドしているからです。

Zune3D サンプルの [RadioButton] オブジェクト

Ee341447.92a0f9b6-81a7-44c3-9e6d-c17e29df7204(ja-jp,Expression.40).png

テンプレートによくバインドするプロパティは、次のとおりです。

プロパティ名

Background

Brush

Fill

Brush

Stroke

Brush

BorderBrush

Brush

Foreground

Brush

BorderThickness

Number

Width

Number

Height

Number

いくつかのプロパティ (OpacityMaskFontFontSizeLayoutTransform、および RenderTransform など) は、テンプレートにバインドする必要はありません。これらのプロパティは、テンプレート内の要素に自動的に反映されます。また、テンプレートに ContentPresenter オブジェクトがある場合、Content および Text プロパティはテンプレートにバインドする必要はありません。

オブジェクトのプロパティをテンプレートで流用するには

  1. コントロールのテンプレートを作成するか、既存のテンプレートを開きます。

    詳細については、「システム コントロールのスタイル処理のための再利用可能なテンプレートの作成」を参照してください。

  2. [オブジェクトとタイムライン] パネルで、テンプレートにバインドするプロパティを含むオブジェクトを選択します。

  3. [プロパティ] パネルで、テンプレートにバインドするプロパティを見つけ、[詳細オプション] Ee341447.12e06962-5d8a-480d-a837-e06b84c545bb(ja-jp,Expression.40).png をクリックし、[テンプレートのバインド] をポイントしてから、テンプレートにバインドするプロパティをクリックします。

    たとえば、Expression Blend の Zune3D サンプルに含まれる RadioButton テンプレートでは、ボタンの内部の Fill プロパティは、テンプレートを使用する RadioButton コントロールの Background プロパティにバインドされています。

    Ee341447.8ea5510a-4aed-4699-aac1-c7f3f178f5af(ja-jp,Expression.40).png

    [プロパティ] パネルでは、テンプレートにバインドされているプロパティに黄色い枠が表示されます。

    Ee341447.26f3da48-43af-437f-a064-c981ced5f317(ja-jp,Expression.40).png

  4. 次に、このテンプレートを使用する別のオブジェクトを描画するときに、テンプレートにバインドしたプロパティ (前の例の Background プロパティ) を変更すると、テンプレート内の Fill プロパティに変更が反映されます。

    Ee341447.66d08eb4-1962-4e7f-b753-ac9e4b307106(ja-jp,Expression.40).png

テンプレート バインドを削除するには

  1. コントロールのテンプレートを編集中に、[オブジェクトとタイムライン] パネルで、テンプレートにバインドされたプロパティを含むオブジェクトを選択します。

  2. [プロパティ] パネルで、テンプレートにバインドされたプロパティを見つけ、[詳細オプション] Ee341447.e3343378-f63e-4d8f-9847-97c1a58aadc5(ja-jp,Expression.40).png、[リセット] の順にクリックします。

    プロパティを別の値に設定できるようになります。

関連項目

概念

テンプレートを使用するコントロールのスタイルの設定
一般的な Silverlight コントロールのスタイル処理のヒント
WPF 簡易スタイルのスタイル処理のヒント

Copyright ©2011 by Microsoft Corporation. All rights reserved.