TemplateBindingExtension Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Implementa uma extensão de marcação que suporta a ligação entre o valor de uma propriedade num template e o valor de outra propriedade exposta no controlo templateado.
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
- Herança
- Atributos
Exemplos
O exemplo seguinte mostra um ControlTemplate que define um ListBox que é horizontal e tem cantos arredondados. Indica TemplateBinding que o Background de deve Border estar sincronizado com o Background valor que está definido em .ListBox Utiliza-se TemplateBinding quando ControlTemplate quer dar ao utilizador do seu controlo o controlo sobre os valores de certas propriedades. Para uma discussão deste exemplo, veja 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>
O exemplo seguinte mostra o ControlTemplate do Label controlo. As HorizontalAlignment propriedades e VerticalAlignment estão ligadas aos valores das HorizontalContentAlignment propriedades e VerticalContentAlignment do Label controlo ao qual isto ControlTemplate é aplicado.
<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>
Observações
Usas TemplateBinding um template para ligar a um valor no controlo ao qual o template é aplicado. A TemplateBinding é mais eficiente do que o a Binding , mas tem menos funcionalidade. Usar a TemplateBinding é equivalente a usar a Binding com a RelativeSource propriedade definida em RelativeSource.TemplatedParent.
Utilização de Texto XAML
Para informações sobre XAML, consulte TemplateBinding Markup Extension.
Construtores
| Name | Description |
|---|---|
| TemplateBindingExtension() |
Inicializa uma nova instância da TemplateBindingExtension classe. |
| TemplateBindingExtension(DependencyProperty) |
Inicializa uma nova instância da TemplateBindingExtension classe com a propriedade de dependência especificada que é a fonte da ligação. |
Propriedades
| Name | Description |
|---|---|
| Converter |
Obtém ou define o conversor que interpreta entre a fonte e o destino de uma ligação. |
| ConverterParameter |
Obtém ou define o parâmetro a passar para o conversor. |
| Property |
Obtém ou define a propriedade a que está vinculada. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ProvideValue(IServiceProvider) |
Devolve um objeto que deve ser definido como valor na propriedade do objeto alvo para esta extensão de marcação. Para TemplateBindingExtension, esta é uma expressão (TemplateBindingExpression) que suporta a ligação. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |