TemplateBindingExtension 類別

定義

實作標記延伸,該標記延伸支援範本中的屬性值與樣板化控制項上一些其他公開屬性值之間的繫結。

public ref class TemplateBindingExtension : System::Windows::Markup::MarkupExtension
[System.ComponentModel.TypeConverter(typeof(System.Windows.TemplateBindingExtensionConverter))]
public 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
[<System.ComponentModel.TypeConverter(typeof(System.Windows.TemplateBindingExtensionConverter))>]
type TemplateBindingExtension = class
    inherit MarkupExtension
[<System.ComponentModel.TypeConverter(typeof(System.Windows.TemplateBindingExtensionConverter))>]
[<System.Windows.Markup.MarkupExtensionReturnType(typeof(System.Object))>]
type TemplateBindingExtension = class
    inherit MarkupExtension
Public Class TemplateBindingExtension
Inherits MarkupExtension
繼承
TemplateBindingExtension
屬性

範例

下列範例顯示定義 ControlTemplateListBox 水準且具有圓角的 。 TemplateBinding表示 BackgroundBorder 的 應該與 BackgroundListBox 設定的值進行同步處理。 TemplateBindingControlTemplate 當您想要為控制項的使用者提供特定屬性值的控制項時,請使用 。 如需此範例的討論,請參閱 設定樣式和範本化

<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 控制項的 LabelHorizontalAlignmentVerticalAlignment 屬性會系結至套用此 ControlTemplate 控制項之 和 VerticalContentAlignment 屬性 Label 的值 HorizontalContentAlignment

<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您在範本中使用 系結至套用範本之控制項上的值。 TemplateBinding比 更有效率, Binding 但功能較少。 TemplateBinding使用 相當於使用 BindingRelativeSource 將 屬性設定為 RelativeSource.TemplatedParent 的 。

XAML 文字使用方式

如需 XAML 資訊,請參閱 TemplateBinding 標記延伸

建構函式

TemplateBindingExtension()

初始化 TemplateBindingExtension 類別的新執行個體。

TemplateBindingExtension(DependencyProperty)

使用作為繫結來源的指定相依性屬性,初始化 TemplateBindingExtension 類別的新執行個體。

屬性

Converter

取得或設定在繫結來源和目標之間進行解釋的轉換子。

ConverterParameter

取得或設定要傳遞至轉換子的參數。

Property

取得或設定要繫結至的屬性。

方法

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ProvideValue(IServiceProvider)

傳回物件,此物件應該設定為目標物件對於這個標記延伸之屬性上的值。 對於 TemplateBindingExtension,這是支援繫結的運算式 (TemplateBindingExpression)。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於