TemplateBindingExtension 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
實作標記延伸,該標記延伸支援範本中的屬性值與樣板化控制項上一些其他公開屬性值之間的繫結。
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
- 繼承
- 屬性
範例
下列範例顯示定義 ControlTemplateListBox 水準且具有圓角的 。
TemplateBinding
表示 BackgroundBorder 的 應該與 Background 上 ListBox 設定的值進行同步處理。
TemplateBinding
ControlTemplate 當您想要為控制項的使用者提供特定屬性值的控制項時,請使用 。 如需此範例的討論,請參閱 設定樣式和範本化。
<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 。 HorizontalAlignment和 VerticalAlignment 屬性會系結至套用此 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) |