FrameworkPropertyMetadata.AffectsRender Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy właściwość zależności może wpływać na układ ogólny w jakiś sposób, który nie wpływa na porozumienie lub pomiar, ale wymaga ponownego rysowania.Gets or sets a value that indicates whether a dependency property potentially affects the general layout in some way that does not specifically influence arrangement or measurement, but would require a redraw.

public:
 property bool AffectsRender { bool get(); void set(bool value); };
public bool AffectsRender { get; set; }
member this.AffectsRender : bool with get, set
Public Property AffectsRender As Boolean

Wartość właściwości

Boolean

true, jeśli właściwość zależności, na której istnieją metadane, ma wpływ na renderowanie; w przeciwnym razie false.true if the dependency property on which this metadata exists affects rendering; otherwise, false. Wartość domyślna to false.The default is false.

Wyjątki

Metadane zostały już zastosowane do operacji właściwości zależności, dlatego metadane są zapieczętowane i nie można ustawić właściwości metadanych.The metadata has already been applied to a dependency property operation, so that metadata is sealed and properties of the metadata cannot be set.

Przykłady

Poniższy przykład pobiera domyślne metadane z różnych pól właściwości zależności, wysyła zapytanie do wartości różnych FrameworkPropertyMetadata właściwości i używa tych informacji do zapełnienia tabeli w celu zaimplementowania "przeglądarki metadanych".The following example obtains the default metadata from various dependency property fields, queries the value of various FrameworkPropertyMetadata properties on it, and uses the information to populate a table to implement a "metadata browser".

pm = dp.GetMetadata(dp.OwnerType);
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";
}         
Dim fpm As FrameworkPropertyMetadata = TryCast(pm, FrameworkPropertyMetadata)
If fpm IsNot Nothing Then
    AffectsArrange.Text = If((fpm.AffectsArrange), "Yes", "No")
    AffectsMeasure.Text = If((fpm.AffectsMeasure), "Yes", "No")
    AffectsRender.Text = If((fpm.AffectsRender), "Yes", "No")
        [Inherits].Text = If((fpm.Inherits), "Yes", "No")
    IsDataBindingAllowed.Text = If((fpm.IsDataBindingAllowed), "Yes", "No")
    BindsTwoWayByDefault.Text = If((fpm.BindsTwoWayByDefault), "Yes", "No")

Uwagi

FrameworkElement i FrameworkContentElement obejmują implementację OnPropertyChanged monitorującą skuteczne zmiany wartości we wszystkich właściwościach zależności istniejących w elemencie.FrameworkElement and FrameworkContentElement include an implementation of OnPropertyChanged that monitors effective value changes to all dependency properties that exist on an element. W ramach tej logiki właściwości zależności, które zmieniają wartość skuteczną i mają metadane z AffectsRender ustawionym na true będą inicjować odroczone żądanie w celu unieważnienia wizualizacji dla tego elementu.As part of that logic, dependency properties that change effective value and have metadata with AffectsRender set to true will initiate a deferred request to invalidate the visuals for that element. Ponieważ ta implementacja na poziomie platformy WPF jest już na miejscu, zazwyczaj nie trzeba szukać właściwości zależności z AffectsRender, chyba że istotnie zastąpi lub modyfikujesz zachowanie układu platformy WPF.Because this WPF framework-level implementation is already in place, you typically do not need to look for dependency properties with AffectsRender unless you are substantially replacing or modifying the WPF framework-level layout behavior.

Niestandardowe implementacje OnPropertyChanged mogą zdecydować się na zachowanie podobnego zachowania dla zmian właściwości zależności, gdy AffectsRender jest true.Custom OnPropertyChanged implementations might choose to have similar behavior for dependency property changes where AffectsRender is true.

Właściwości w dowolnych klasach pochodnych PropertyMetadata są zwykle zdefiniowane w modelu obiektów jako do odczytu i zapisu.Properties on any derived classes of PropertyMetadata are typically defined in the object model as read-write. Jest to tak więc, aby można je było dostosować po zainicjowaniu wystąpienia.This is so they can be adjusted after initialization of the instance. Jednak po wykorzystaniu metadanych jako części wywołania Register, AddOwnerlub OverrideMetadata, system właściwości będzie zapieczętować to wystąpienie metadanych i właściwości, które przekażą określone metadane, są teraz traktowane jako niezmienne.However, after the metadata is consumed as part of a call to Register, AddOwner, or OverrideMetadata, the property system will seal that metadata instance and properties that convey the specifics of the metadata are now considered immutable. Próba ustawienia tej właściwości po IsSealed jest true w tym wystąpieniu metadanych spowoduje wystąpienie wyjątku.Attempting to set this property after IsSealed is true on this metadata instance will raise an exception.

Użycie tekstu w języku XAMLXAML Text Usage

Elementy członkowskie tej klasy nie są zwykle używane w XAMLXAML.Members of this class are not typically used in XAMLXAML.

Dotyczy

Zobacz też