Setter.Property Propriété

Définition

Obtient ou définit la propriété à laquelle appliquer la valeur .

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é

DépendanceProperty à laquelle la valeur sera appliquée. La valeur par défaut est null.

Exemples

Cet exemple montre comment utiliser les 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 le JointdPropertyProvider. 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 propriétés Property et Value sur un Setter. Sinon, une exception est levée (une exception d’analyse ou une erreur d’exécution, selon que le Setter est créé en XAML ou modifié dans le code).

Si vous accédez à un setter instance à l’aide de code, vous ne pouvez pas modifier la valeur d’une propriété d’un setter instance si la valeur de la propriété IsSealed sur un style parent est vraie. Cela est également signalé par la propriété IsSealed sur un Setter individuel. Le système définit ces propriétés sur true 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 la 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. La qualification par classe n’est cependant pas nécessaire et entraîne un balisage potentiellement confus. Vous pouvez rencontrer ou utiliser des utilisations qualifiées de nom de propriété si vous migrez XAML à partir d’autres plateformes.

Identification des propriétés de dépendance

Comme indiqué précédemment, vous pouvez uniquement utiliser un setter pour ajuster une propriété via 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 des é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 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 fait référence à votre type personnalisé. Pour plus d’informations, consultez Propriétés de dépendance personnalisées ou TargetType.

S’applique à