TemplateBindingExtension Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt een markeringsextensie geïmplementeerd die ondersteuning biedt voor de binding tussen de waarde van een eigenschap in een sjabloon en de waarde van een andere weergegeven eigenschap in het sjabloonbesturingselement.
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
- Overname
- Kenmerken
Voorbeelden
In het volgende voorbeeld ziet u een ControlTemplate die een ListBox horizontale en afgeronde hoeken definieert. De TemplateBinding geeft aan dat de Background van de Border moet worden gesynchroniseerd met de Background waarde die is ingesteld op de ListBox. U gebruikt TemplateBinding in uw ControlTemplate wanneer u de gebruiker van uw controle de controle wilt geven over de waarden van bepaalde eigenschappen. Zie Styling en Templating voor een bespreking van dit voorbeeld.
<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>
In het volgende voorbeeld ziet u het ControlTemplate besturingselement Label . De HorizontalAlignment eigenschappen en VerticalAlignment eigenschappen zijn gebonden aan de waarden van de HorizontalContentAlignment en VerticalContentAlignment eigenschappen van het Label besturingselement waarop dit ControlTemplate wordt toegepast.
<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>
Opmerkingen
U gebruikt TemplateBinding in de sjabloon om een waarde te binden aan het besturingselement waarop de sjabloon wordt toegepast. A TemplateBinding is efficiënter dan een Binding , maar heeft minder functionaliteit. Het gebruik van een TemplateBinding is gelijk aan het gebruik van een Binding met de RelativeSource eigenschap ingesteld op RelativeSource.TemplatedParent.
XAML-tekstgebruik
Zie TemplateBinding Markup Extension voor informatie over XAML.
Constructors
| Name | Description |
|---|---|
| TemplateBindingExtension() |
Initialiseert een nieuw exemplaar van de TemplateBindingExtension klasse. |
| TemplateBindingExtension(DependencyProperty) |
Initialiseert een nieuw exemplaar van de TemplateBindingExtension klasse met de opgegeven afhankelijkheidseigenschap die de bron van de binding is. |
Eigenschappen
| Name | Description |
|---|---|
| Converter |
Hiermee haalt u het conversieprogramma op dat wordt geïnterpreteerd tussen de bron en het doel van een binding. |
| ConverterParameter |
Hiermee haalt u de parameter op of stelt u deze in om door te geven aan het conversieprogramma. |
| Property |
Hiermee haalt u de eigenschap op of stelt u deze in. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ProvideValue(IServiceProvider) |
Hiermee wordt een object geretourneerd dat moet worden ingesteld als de waarde voor de eigenschap van het doelobject voor deze markeringsextensie. Dit TemplateBindingExtensionis een expressie (TemplateBindingExpression) die ondersteuning biedt voor de binding. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |