Condividi tramite


Setter.Property Proprietà

Definizione

Ottiene o imposta la proprietà a cui applicare value.

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"/>

Valore della proprietà

DependencyProperty a cui verrà applicato il valore. Il valore predefinito è Null.

Esempio

In questo esempio viene illustrato come usare istruzioni Setter in uno stile per gli elementi 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>

È anche possibile applicare setter ai valori delle proprietà associate specificando il nome della proprietà associata in AttachedPropertyProvider. Modulo PropertyName . Ad esempio, per usare un setter per la proprietà associata Canvas.Left, usa questo codice XAML.

<Setter Property="Canvas.Left" Value="100"/>

Commenti

È necessario specificare le proprietà e PropertyValue in un setter. In caso contrario, viene generata un'eccezione (un'eccezione di analisi o un errore di runtime, a seconda che il setter venga creato in XAML o modificato nel codice).

Se si accede a un'istanza Setter usando il codice, non è possibile modificare il valore di una proprietà di un'istanza Setter se il valore della proprietà IsSealed in un oggetto Style padre è true. Ciò viene segnalato anche dalla proprietà IsSealed su un singolo setter. Il sistema imposta queste proprietà su true quando il runtime applica gli stili agli elementi dell'interfaccia utente e li visualizza nell'interfaccia utente. Il tentativo di modificare un setter sealed genera un errore di runtime.

È possibile utilizzare un setter per applicare uno stile a una proprietà associata. In questo caso il nome della proprietà di dipendenza è un nome completo in XAML che denomina anche il tipo di definizione della proprietà associata. Ad esempio, <Setter Property="AutomationProperties.LiveSetting" Value="Polite" /> può essere usato per impostare il valore della proprietà associata AutomationProperties.LiveSetting all'interno dello stile per qualsiasi controllo o elemento dell'interfaccia utente.

Nota

Il parser XAML accetta anche nomi di proprietà di dipendenza che includono una classe idonea. Ad esempio, il parser interpreta "Button.Background" o "Control.Background" come riferimento alla proprietà Background in uno stile per un controllo Button. La qualificazione in base alla classe non è necessaria e genera un markup potenzialmente poco chiaro. Se si esegue la migrazione di XAML da altre piattaforme, è possibile che si verifichino o si usino i nomi di proprietà qualificati.

Identificazione delle proprietà di dipendenza

Come indicato, è possibile usare un setter solo per regolare una proprietà tramite uno stile se la proprietà in questione è una proprietà di dipendenza. Le proprietà dell'interfaccia utente in cui è presente uno scenario per l'applicazione di uno stile vengono quasi sempre implementate come proprietà di dipendenza dal Windows Runtime e le proprietà impostabili che non sono una proprietà di dipendenza sugli elementi dell'interfaccia utente sono piuttosto rare. Se si desidera verificare che una proprietà Windows Runtime sia una proprietà di dipendenza, controllare gli elenchi di membri per il tipo che definisce originariamente la proprietà. Se una proprietà è di fatto una proprietà di dipendenza, l'identificatore della proprietà di dipendenza esisterà anche su tale classe e tale identificatore ha lo stesso nome della proprietà stessa, ma con il suffisso Property aggiunto. Questo identificatore della proprietà di dipendenza è una proprietà di sola lettura statica utile in alcuni scenari di proprietà di dipendenza tramite codice. Ad esempio, è possibile usare tale valore di identificatore nel codice per modificare un valore Setter.Property esistente, purché lo stile padre non sia già sealed.

Uso di un setter per una proprietà personalizzata

Per le proprietà personalizzate è necessario dichiarare la proprietà come proprietà di dipendenza se si desidera supportare gli stili, nonché per altri scenari, ad esempio il data binding o l'animazione. Se si esegue questa operazione, la proprietà personalizzata è supportata anche per lo stile in qualsiasi stile con targetType che fa riferimento al tipo personalizzato. Per altre info, vedi Proprietà di dipendenza personalizzate o TargetType.

Si applica a