Setter Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Applique une valeur à une propriété dans un Style ou un VisualState.
public ref class Setter sealed : SetterBase
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.Activatable(Microsoft.UI.Xaml.ISetterFactory, 65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Setter final : SetterBase
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.Activatable(typeof(Microsoft.UI.Xaml.ISetterFactory), 65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Setter : SetterBase
Public NotInheritable Class Setter
Inherits SetterBase
<Setter .../>
- Héritage
- Attributs
Exemples
Cet exemple montre comment utiliser Setter des instructions dans un style pour les éléments TextBlock .
<StackPanel>
<StackPanel.Resources>
<!-- Create a Style for a TextBlock to specify that the
Foreground equals Navy, FontSize equals 14, and
VerticalAlignment equals Bottom. -->
<Style TargetType="TextBlock" x:Key="TextBlockStyle">
<Setter Property="Foreground" Value="Navy"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="VerticalAlignment" Value="Bottom"/>
</Style>
</StackPanel.Resources>
<!-- Apply the TextBlockStyle to 2 different TextBlocks. -->
<TextBlock Style="{StaticResource TextBlockStyle}" Text=”Hello”/>
<TextBlock Style="{StaticResource TextBlockStyle}" Text=”World”/>
</StackPanel>
Cet exemple montre comment utiliser plusieurs Setter instructions à l’intérieur de la propriété VisualState.Setters pour appliquer des modifications de valeur de propriété discrètes sur différents éléments (sans animations) lorsqu’un VisualState est appliqué.
<Page>
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="NarrowState">
<VisualState.Setters>
<Setter Target="myPanel.Orientation" Value="Vertical"/>
<Setter Target="myPanel.Width" Value="380"/>
<Setter Target="myTextBlock.MaxLines" Value="3"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<StackPanel x:Name="myPanel" Orientation="Horizontal">
<TextBlock x:Name="myTextBlock" MaxLines="5" Style="{ThemeResource BodyTextBlockStyle}"/>
</StackPanel>
</Grid>
</Page>
Vous pouvez également appliquer des setters aux valeurs de propriété jointes en spécifiant le nom de la propriété jointe dans attachedPropertyProvider. Formulaire PropertyName . Par exemple, pour utiliser un setter pour la propriété jointe Canvas.Left, utilisez ce code XAML.
<Setter Property="Canvas.Left" Value="100"/>
Pour mettre à jour une valeur d’une propriété jointe à l’aide Targetde , placez le chemin de propriété attaché entre parenthèses. Cet exemple montre comment mettre à jour la RelativePanel.AlignRightWithPanel valeur sur un élément portant le nom « TitleTextBlock ».
<RelativePanel>
<TextBlock x:Name="TitleTextBlock" Text="Title"/>
</RelativePanel>
...
<Setter Target="TitleTextBlock.(RelativePanel.AlignRightWithPanel)" Value="True"/>
Remarques
Utilisez Setter des instructions pour définir une valeur de propriété au sein d’un style ou d’un VisualState.
La propriété Setter.Target peut être utilisée dans un style ou un VisualState, mais de différentes façons. Lorsqu’elle est utilisée dans un Style, la propriété qui doit être modifiée peut être spécifiée directement. Lorsqu’elle est utilisée, VisualStatela Target propriété doit recevoir une syntaxe TargetPropertyPath (en pointillés avec un élément cible et une propriété spécifiés explicitement).
La propriété Setter.Property ne peut être utilisée que dans un style et non dans un VisualState. À compter de Windows 10, vous pouvez utiliser Setter.Target partout au lieu de Setter.Property.
Vous devez spécifier à la fois la valeur et la cible ou la propriété, sur un Setter. Sinon, une exception est levée (une exception d’analyse ou une erreur d’exécution, selon que setter est créé en XAML ou modifié dans le code).
Si vous accédez à une Setter instance à l’aide de code, vous ne pouvez pas modifier la valeur d’une propriété d’une Setter instance si la valeur de la propriété IsSealed sur un style parent est true. Cela est également signalé par la propriété IsSealed sur un individu Setter. Le système définit ces propriétés true lorsque le runtime applique des styles aux éléments de l’interface utilisateur et les affiche dans l’interface utilisateur. La tentative de modification d’un sealed Setter génère une erreur d’exécution.
Constructeurs
| Nom | Description |
|---|---|
| Setter() |
Initialise une nouvelle instance de la classe Setter sans propriété ou valeur initiale. |
| Setter(DependencyProperty, Object) |
Initialise une nouvelle instance de la classe Setter avec des informations initiales sur la propriété et la valeur . |
Propriétés
| Nom | Description |
|---|---|
| Dispatcher |
Retourne |
| DispatcherQueue |
Obtient le |
| IsSealed |
Obtient une valeur qui indique si cet objet est dans un état immuable. (Hérité de SetterBase) |
| Property |
Obtient ou définit la propriété à laquelle appliquer la valeur . |
| Target |
Obtient ou définit le chemin d’accès d’une propriété sur un élément cible auquel appliquer la valeur . |
| Value |
Obtient ou définit la valeur à appliquer à la propriété spécifiée par setter. |
Méthodes
| Nom | Description |
|---|---|
| ClearValue(DependencyProperty) |
Efface la valeur locale d’une propriété de dépendance. (Hérité de DependencyObject) |
| GetAnimationBaseValue(DependencyProperty) |
Retourne toute valeur de base établie pour une propriété de dépendance, qui s’applique dans les cas où une animation n’est pas active. (Hérité de DependencyObject) |
| GetValue(DependencyProperty) |
Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un DependencyObject. (Hérité de DependencyObject) |
| ReadLocalValue(DependencyProperty) |
Retourne la valeur locale d’une propriété de dépendance, si une valeur locale est définie. (Hérité de DependencyObject) |
| RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Inscrit une fonction de notification pour écouter les modifications apportées à une dependencyProperty spécifique sur cette instance DependencyObject . (Hérité de DependencyObject) |
| SetValue(DependencyProperty, Object) |
Définit la valeur locale d’une propriété de dépendance sur un DependencyObject. (Hérité de DependencyObject) |
| UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Annule une notification de modification qui a été précédemment inscrite en appelant RegisterPropertyChangedCallback. (Hérité de DependencyObject) |