TemplateBindingExtension TemplateBindingExtension TemplateBindingExtension TemplateBindingExtension Class

정의

템플릿의 속성 값과 템플릿 컨트롤에 있는 기타 노출된 일부 속성의 값 간에 바인딩을 지원하는 태그 확장을 구현합니다.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. TemplateBinding 나타냅니다는 BackgroundBorder 과 동기화 되도록를 Background 에 설정 된 값은 ListBox합니다.The 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>

다음 예제와 합니다 ControlTemplateLabel 제어 합니다.The following example shows the ControlTemplate of the Label control. HorizontalAlignmentVerticalAlignment 속성의 값에 바인딩된를 HorizontalContentAlignmentVerticalContentAlignment 의 속성을 Label 이 제어 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. A TemplateBinding 보다 더 효율적입니다를 Binding 있지만 기능이 더 적습니다.A TemplateBinding is more efficient than a Binding but it has less functionality. 사용 하 여는 TemplateBinding 사용 하는 것을 Binding 사용 하 여를 RelativeSource 속성이로 설정 RelativeSource.TemplatedParent.Using a TemplateBinding is equivalent to using a Binding with the RelativeSource property set to RelativeSource.TemplatedParent.

XAML 텍스트 사용XAML Text Usage

에 대 한 XAMLXAML 정보를 참조 하세요 TemplateBinding 태그 확장합니다.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)

적용 대상