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 à laquelle 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 les Property
propriétés et Value sur un setter. Sinon, une exception est levée (une exception d’analyse ou une erreur d’exécution, selon que l’élément Setter est créé en XAML ou modifié dans le code).
Si vous accédez à un instance Setter à l’aide de code, vous ne pouvez pas modifier la valeur d’une propriété d’un 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
sur lorsque le runtime applique des styles aux éléments d’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 appliquer un style à 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" />
peut être utilisé pour définir la valeur de propriété jointe AutomationProperties.LiveSetting dans le style pour n’importe quel contrôle ou élément d’interface utilisateur.
Notes
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 Button. Toutefois, la qualification par classe n’est pas nécessaire et entraîne un balisage potentiellement confus. 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 d’interface utilisateur dans lesquelles 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 le 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, case activée les listes de membres pour le type qui définit la propriété à l’origine. 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 le suffixe Property ajouté. 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 cette 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 fait référence à votre type personnalisé. Pour plus d’informations, consultez Propriétés de dépendance personnalisées ou TargetType.