TemplateBindingExtension Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Implementa uma extensão de marcação que dá suporte à associação entre o valor de uma propriedade em um modelo e o valor de outra propriedade exposta no controle modelo.
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 a seguir mostra um ControlTemplate que define um ListBox que é horizontal e tem cantos arredondados. O TemplateBinding
indica que o Background do Border deve ser sincronizado com o Background valor definido no ListBox. Você usa TemplateBinding
em seu ControlTemplate quando deseja dar ao usuário de seu controle o controle sobre os valores de determinadas propriedades. Para obter uma discussão sobre este exemplo, consulte Estilo e modelagem.
<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 a seguir mostra o ControlTemplate do Label controle . As HorizontalAlignment propriedades e VerticalAlignment estão associadas aos valores das HorizontalContentAlignment propriedades e VerticalContentAlignment do Label controle ao qual isso 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>
Comentários
Você usa TemplateBinding
no modelo para associar a um valor no controle ao qual o modelo é aplicado. Um TemplateBinding
é mais eficiente do que um Binding , mas tem menos funcionalidade. Usar um TemplateBinding
é equivalente a usar um Binding com a RelativeSource propriedade definida RelativeSource.TemplatedParentcomo .
Uso de texto XAML
Para obter informações sobre XAML, consulte TemplateBinding Markup Extension.
Construtores
TemplateBindingExtension() |
Inicializa uma nova instância da classe TemplateBindingExtension. |
TemplateBindingExtension(DependencyProperty) |
Inicializa uma nova instância da classe TemplateBindingExtension com a propriedade de dependência especificada que é a origem da associação. |
Propriedades
Converter |
Obtém ou define o conversor que interpreta entre a origem e o destino de uma associação. |
ConverterParameter |
Obtém ou define o parâmetro a ser passado para o conversor. |
Property |
Obtém ou define a propriedade à qual associar. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ProvideValue(IServiceProvider) |
Retorna um objeto que deve ser definido como o valor na propriedade do objeto de destino para esta extensão de marcação. Para TemplateBindingExtension, esta é uma expressão (TemplateBindingExpression) é compatível com a associação. |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |