Setter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Applica un valore a una proprietà in uno stile o in un oggetto 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 .../>
- Ereditarietà
- Attributi
Esempio
In questo esempio viene illustrato come usare Setter istruzioni 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>
In questo esempio viene illustrato come usare più Setter istruzioni all'interno della proprietà VisualState.Setters per applicare modifiche al valore della proprietà discreta su vari elementi (senza animazioni) quando viene applicato un oggetto VisualState .
<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>
È 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"/>
Per aggiornare un valore di una proprietà associata usando Target, posizionare il percorso della proprietà associata tra parentesi. In questo esempio viene illustrato come aggiornare il RelativePanel.AlignRightWithPanel valore in un elemento con il nome 'TitleTextBlock'.
<RelativePanel>
<TextBlock x:Name="TitleTextBlock" Text="Title"/>
</RelativePanel>
...
<Setter Target="TitleTextBlock.(RelativePanel.AlignRightWithPanel)" Value="True"/>
Commenti
Utilizzare Setter le istruzioni per impostare un valore della proprietà all'interno di uno Stile o di un oggetto VisualState.
La proprietà Setter.Target può essere utilizzata in uno stile o in un oggetto VisualState, ma in modi diversi. Se utilizzata in un Styleoggetto , è possibile specificare direttamente la proprietà che deve essere modificata. Se utilizzata in VisualState, alla Target proprietà deve essere assegnata una proprietà TargetPropertyPath (sintassi punteggiata con un elemento di destinazione e una proprietà specificata in modo esplicito).
La proprietà Setter.Property può essere utilizzata solo in uno stile e non in un oggetto VisualState. A partire da Windows 10, puoi usare Setter.Target ovunque anziché Setter.Property.
È necessario specificare sia Il valore che la proprietà o la destinazione in un oggetto 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 codice, non è possibile modificare il valore di una proprietà di un'istanza Setter se il valore della proprietà IsSealed in uno stile padre è true. Questa operazione viene segnalata anche dalla proprietà IsSealed in un singolo Setteroggetto . 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 sealed Setter genera un errore di runtime.
Costruttori
| Nome | Descrizione |
|---|---|
| Setter() |
Inizializza una nuova istanza della classe Setter senza proprietà o valore iniziali. |
| Setter(DependencyProperty, Object) |
Inizializza una nuova istanza della classe Setter con le informazioni iniziali proprietà e valore . |
Proprietà
| Nome | Descrizione |
|---|---|
| Dispatcher |
Restituisce |
| DispatcherQueue |
Ottiene l'oggetto |
| IsSealed |
Ottiene un valore che indica se l'oggetto è in uno stato non modificabile. (Ereditato da SetterBase) |
| Property |
Ottiene o imposta la proprietà a cui applicare Value. |
| Target |
Ottiene o imposta il percorso di una proprietà su un elemento di destinazione a cui applicare value. |
| Value |
Ottiene o imposta il valore da applicare alla proprietà specificata dal setter. |
Metodi
| Nome | Descrizione |
|---|---|
| ClearValue(DependencyProperty) |
Cancella il valore locale di una proprietà di dipendenza. (Ereditato da DependencyObject) |
| GetAnimationBaseValue(DependencyProperty) |
Restituisce qualsiasi valore di base stabilito per una proprietà di dipendenza, che si applica nei casi in cui un'animazione non è attiva. (Ereditato da DependencyObject) |
| GetValue(DependencyProperty) |
Restituisce il valore effettivo corrente di una proprietà di dipendenza da dependencyObject. (Ereditato da DependencyObject) |
| ReadLocalValue(DependencyProperty) |
Restituisce il valore locale di una proprietà di dipendenza, se è impostato un valore locale. (Ereditato da DependencyObject) |
| RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
Registra una funzione di notifica per l'ascolto delle modifiche a una dipendenza specifica in questa istanza dependencyObject . (Ereditato da DependencyObject) |
| SetValue(DependencyProperty, Object) |
Imposta il valore locale di una proprietà di dipendenza in un Oggetto DependencyObject. (Ereditato da DependencyObject) |
| UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
Annulla una notifica di modifica registrata in precedenza chiamando RegisterPropertyChangedCallback. (Ereditato da DependencyObject) |