Setter.Property Propriété
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.
public:
property DependencyProperty ^ Property { DependencyProperty ^ get(); void set(DependencyProperty ^ value); };
DependencyProperty Property();
void Property(DependencyProperty value);
public DependencyProperty Property { get; set; }
var dependencyProperty = setter.property;
setter.property = dependencyProperty;
Public Property Property As DependencyProperty
<Setter Property="propertyName"/>
Valeur de propriété
DependencyProperty auquel la valeur sera appliquée. La valeur par défaut est Null.
Exemples
Cet exemple montre comment utiliser des instructions Setter 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>
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"/>
Remarques
Vous devez spécifier à la fois les Property propriétés value et 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 instance Setter à l’aide de code, vous ne pouvez pas modifier la valeur d’une propriété d’une instance Setter 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 Setter individuel. 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 setter scellé génère une erreur d’exécution.
Vous pouvez utiliser un Setter pour styler une propriété jointe. Dans ce cas, le nom de la propriété de dépendance est un nom qualifié en XAML qui nomme également le type de définition de la propriété jointe. Par exemple, <Setter Property="AutomationProperties.LiveSetting" Value="Polite" /> vous pouvez définir la valeur de propriété jointe AutomationProperties.LiveSetting dans le style de n’importe quel contrôle ou élément d’interface utilisateur.
Note
L’analyseur XAML accepte également les noms de propriétés de dépendance qui incluent une classe éligible. Par exemple, l’analyseur interprète « Button.Background » ou « Control.Background » comme une référence à la propriété Background dans un style pour un bouton. La qualification par classe n’est pas nécessaire et entraîne un balisage potentiellement déroutant. Vous pouvez rencontrer ou utiliser des utilisations de nom de propriété qualifiées si vous migrez XAML à partir d’autres plateformes.
Identification des propriétés de dépendance
Comme indiqué, vous pouvez uniquement utiliser un Setter pour ajuster une propriété par le biais d’un style si la propriété en question est une propriété de dépendance. Les propriétés de l'interface utilisateur où il existe un scénario d'application d'un style sont presque toujours implémentées en tant que propriétés de dépendance par l'Windows Runtime, et les propriétés settables qui ne sont pas une propriété de dépendance sur les éléments d'interface utilisateur sont assez rares. Si vous souhaitez vérifier qu’une propriété Windows Runtime est une propriété de dépendance, vérifiez les listes de membres pour le type qui définit initialement la propriété. Si une propriété est en fait une propriété de dépendance, l’identificateur de propriété de dépendance existe également sur cette classe, et cet identificateur a le même nom que la propriété elle-même, mais avec la propriété de suffixe ajoutée. Cet identificateur de propriété de dépendance est une propriété statique en lecture seule qui est utile dans certains scénarios de propriété de dépendance par le biais du code. Par exemple, vous pouvez utiliser une telle valeur d’identificateur dans le code pour ajuster une valeur Setter.Property existante tant que le style parent n’est pas déjà scellé.
Utilisation d’un setter pour une propriété personnalisée
Pour vos propres propriétés personnalisées, vous devez déclarer la propriété en tant que propriété de dépendance si vous souhaitez prendre en charge les styles, ainsi que pour d’autres scénarios tels que la liaison de données ou l’animation. Si vous le faites, votre propriété personnalisée est également prise en charge pour le style sur n’importe quel style avec un TargetType qui référence votre type personnalisé. Pour plus d’informations, consultez propriétés de dépendance personnalisées ou TargetType.