TemplateBindingExtension TemplateBindingExtension TemplateBindingExtension TemplateBindingExtension Class

定義

テンプレート内のプロパティ値と、template 宣言されたコントロールで公開されているその他のプロパティ値の間におけるバインディングをサポートするマークアップ拡張機能を実装します。Implements a markup extension that supports the binding between the value of a property in a template and the value of some other exposed property on the templated control.

public ref class TemplateBindingExtension : System::Windows::Markup::MarkupExtension
[System.ComponentModel.TypeConverter(typeof(System.Windows.TemplateBindingExtensionConverter))]
[System.Windows.Markup.MarkupExtensionReturnType(typeof(System.Object))]
public class TemplateBindingExtension : System.Windows.Markup.MarkupExtension
type TemplateBindingExtension = class
    inherit MarkupExtension
Public Class TemplateBindingExtension
Inherits MarkupExtension
継承
TemplateBindingExtensionTemplateBindingExtensionTemplateBindingExtensionTemplateBindingExtension
属性

次の例は、 ControlTemplate水平で角ListBoxが丸いを定義するを示しています。The following example shows a ControlTemplate that defines a ListBox that is horizontal and has rounded corners. Background ListBox Backgroundは、のがBorder 、に設定されている値と同期する必要があることを示します。TemplateBindingThe TemplateBinding indicates that the Background of the Border should be synchronized with the Background value that is set on the ListBox. コントロールのTemplateBindingユーザーがControlTemplate特定のプロパティの値を制御できるようにする場合は、でを使用します。You use TemplateBinding in your ControlTemplate when you want to give the user of your control the control over the values of certain properties. この例の詳細については、「スタイルとテンプレート」を参照してください。For a discussion of this example, see Styling and Templating.

<Style TargetType="ListBox">
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="ListBox">
        <Border CornerRadius="5" Background="{TemplateBinding ListBox.Background}">
          <ScrollViewer HorizontalScrollBarVisibility="Auto">
            <StackPanel Orientation="Horizontal"
                       VerticalAlignment="Center"
                       HorizontalAlignment="Center"
                       IsItemsHost="True"/>
          </ScrollViewer>
        </Border>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

次の例は、 ControlTemplate Labelコントロールのを示しています。The following example shows the ControlTemplate of the Label control. HorizontalContentAlignment Label VerticalContentAlignmentプロパティHorizontalAlignmentVerticalAlignmentプロパティは、このControlTemplateが適用されるコントロールのプロパティとプロパティの値にバインドされます。The HorizontalAlignment and VerticalAlignment properties are bound to the values of the HorizontalContentAlignment and VerticalContentAlignment properties of the Label control that this ControlTemplate is applied to.

<Style x:Key="{x:Type Label}"
       TargetType="Label">
  <Setter Property="HorizontalContentAlignment"
          Value="Left" />
  <Setter Property="VerticalContentAlignment"
          Value="Top" />
  <Setter Property="Template">
    <Setter.Value>
      <ControlTemplate TargetType="Label">
        <Border>
          <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                            VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                            RecognizesAccessKey="True" />
        </Border>
        <ControlTemplate.Triggers>
          <Trigger Property="IsEnabled"
                   Value="false">
            <Setter Property="Foreground">
              <Setter.Value>
                <SolidColorBrush Color="{DynamicResource DisabledForegroundColor}" />
              </Setter.Value>
            </Setter>
          </Trigger>
        </ControlTemplate.Triggers>
      </ControlTemplate>
    </Setter.Value>
  </Setter>
</Style>

注釈

テンプレートでTemplateBindingを使用して、テンプレートが適用されるコントロールの値にバインドします。You use TemplateBinding in template to bind to a value on the control the template is applied to. TemplateBindingはよりも効率的ですが、機能が少なくBindingなっています。A TemplateBinding is more efficient than a Binding but it has less functionality. を使用することBinding RelativeSource RelativeSource.TemplatedParentは、プロパティがに設定されたを使用することと同じです。 TemplateBindingUsing a TemplateBinding is equivalent to using a Binding with the RelativeSource property set to RelativeSource.TemplatedParent.

XAML テキストの使用XAML Text Usage

詳細XAMLXAMLについては、「 TemplateBinding Markup Extension」を参照してください。For XAMLXAML information, see TemplateBinding Markup Extension.

コンストラクター

TemplateBindingExtension() TemplateBindingExtension() TemplateBindingExtension() TemplateBindingExtension()

TemplateBindingExtension クラスの新しいインスタンスを初期化します。Initializes a new instance of the TemplateBindingExtension class.

TemplateBindingExtension(DependencyProperty) TemplateBindingExtension(DependencyProperty) TemplateBindingExtension(DependencyProperty) TemplateBindingExtension(DependencyProperty)

バインディングのソースになっている依存関係プロパティが指定された、TemplateBindingExtension クラスの新しいインスタンスを初期化します。Initializes a new instance of the TemplateBindingExtension class with the specified dependency property that is the source of the binding.

プロパティ

Converter Converter Converter Converter

バインディングのソースとターゲットの間で解釈を行うコンバーターを取得または設定します。Gets or sets the converter that interprets between source and target of a binding.

ConverterParameter ConverterParameter ConverterParameter ConverterParameter

コンバーターに渡すパラメーターを取得または設定します。Gets or sets the parameter to pass to the converter.

Property Property Property Property

バインドされるプロパティを取得または設定します。Gets or sets the property being bound to.

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ProvideValue(IServiceProvider) ProvideValue(IServiceProvider) ProvideValue(IServiceProvider) ProvideValue(IServiceProvider)

このマークアップ拡張機能で使用するターゲット オブジェクトのプロパティ上の値として設定するオブジェクトを返します。Returns an object that should be set as the value on the target object's property for this markup extension. TemplateBindingExtension の場合は、バインディングをサポートする、式 (TemplateBindingExpression) になります。For TemplateBindingExtension, this is an expression (TemplateBindingExpression) that supports the binding.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象