Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese
Questa documentazione è stata archiviata e non viene gestita.

Proprietà FrameworkPropertyMetadata.AffectsMeasure

Ottiene o imposta un valore che indica se una proprietà di dipendenza può avere effetto sul passaggio di misurazione durante le operazioni del motore di layout.

Spazio dei nomi:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS per XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public bool AffectsMeasure { get; set; }
Membri di questa classe non vengono utilizzati in genere in XAML.

Valore proprietà

Tipo: System.Boolean
true se la proprietà di dipendenza sulla quale esistono potenzialmente questi metadati influisce sul passaggio della misura; in caso contrario, false. L'impostazione predefinita è false.

EccezioneCondizione
InvalidOperationException

I metadati sono già stati applicati ad un’operazione di dipendenza di proprietà, così che i metadati sono sealed e le proprietà dei metadati non possono essere impostate.

FrameworkElement e FrameworkContentElement includono un'implementazione di OnPropertyChanged che controlla le effettive modifiche del valore in tutte le proprietà di dipendenza che esistono su un elemento. Come parte di quella logica, le proprietà di dipendenza che modificano il valore effettivo e hanno metadati con AffectsMeasure impostati su true inizieranno una richiesta differita per invalidare il visuals per quell’elemento. Poiché questa implementazione a livello di framework WPF è già attiva, non è in genere necessario cercare le proprietà di dipendenza con AffectsMeasure a meno che non si stia sostituendo o modificando in modo sostanziale il comportamento del layout a livello di framework WPF.

Le implementazioni personalizzate OnPropertyChanged potrebbero scegliere di avere un comportamento simile per le modifiche della proprietà di dipendenza dove AffectsMeasure sia true.

Proprietà su classi derivate di PropertyMetadata sono definite in genere nel modello di oggetti di lettura e scrittura. Così possono essere regolati dopo l'inizializzazione dell'istanza. Tuttavia, dopo che i metadati sono utilizzati come parte di una chiamata a Register, AddOwner, o OverrideMetadata, il sistema di proprietà sigillerà quell’istanza di metadati, e le proprietà che portano le specifiche dei metadati ora sono considerate immutabili. Se si tenta di impostare questa proprietà dopo IsSealed è true su questa istanza di metadati verrà generata un'eccezione.

Nell'esempio seguente sono ottenuti i metadati predefiniti da vari campi della proprietà di dipendenza, sono eseguite query sul valore delle varie proprietà FrameworkPropertyMetadata e sono utilizzate le informazioni per popolare una tabella per implementare un "browser dei metadati."


pm = dp.GetMetadata(dp.OwnerType);


...


FrameworkPropertyMetadata fpm = pm as FrameworkPropertyMetadata;
if (fpm!=null) {
    AffectsArrange.Text = (fpm.AffectsArrange) ? "Yes" : "No";
    AffectsMeasure.Text = (fpm.AffectsMeasure) ? "Yes" : "No";
    AffectsRender.Text = (fpm.AffectsRender) ? "Yes" : "No";
    Inherits.Text = (fpm.Inherits) ? "Yes" : "No";
    IsDataBindingAllowed.Text = (fpm.IsDataBindingAllowed) ? "Yes" : "No";
    BindsTwoWayByDefault.Text = (fpm.BindsTwoWayByDefault) ? "Yes" : "No";
}         


.NET Framework

Supportato in: 4, 3.5, 3.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Mostra: