Heim > Backend-Entwicklung > C++ > Wie löst man Rückrufe bei Änderungen der Abhängigkeitseigenschaft von XAML aus?

Wie löst man Rückrufe bei Änderungen der Abhängigkeitseigenschaft von XAML aus?

Barbara Streisand
Freigeben: 2025-01-24 12:47:10
Original
646 Leute haben es durchsucht

How to Trigger Callbacks on Dependency Property Changes from XAML?

Die Wiederherstellung der abhängigen Attributänderung in xaml

Wenn der Wert des abhängigen Attributs ausgeführt wird, wird die entsprechende

-Methode sofort aufgerufen. Wenn der Designer jedoch den Attributwert über die XAML zuteilt, behalten diese Rückrufe den ruhenden Zustand. Dieses Verhalten ergibt sich aus der Effizienz der

-Methode, die das Attributsystem direkt verwendet und die Methode zur Einstellung der Attributverpackung umgeht. In diesem Fall ist die Logik in der Attributverpackung daher ungültig. OnPropertyChanged SetValue Um dieses Problem zu lösen

Diese Methode stellt sicher, dass die PropertyChangedCallback -Methode ausgeführt wird, wenn der Attributwert

unabhängig von der Quelle XAML, Bindung usw. ist.
public static readonly DependencyProperty IsClosedProperty =
    DependencyProperty.Register(
        "IsClosed", typeof(bool), typeof(GroupBox),
        new FrameworkPropertyMetadata(false,
            FrameworkPropertyMetadataOptions.AffectsRender,
            (o, e) => ((GroupBox)o).OnIsClosedChanged()));

public bool IsClosed
{
    get { return (bool)GetValue(IsClosedProperty); }
    set { SetValue(IsClosedProperty, value); }
}

private void OnIsClosedChanged()
{
    _rowDefContent.Height = new GridLength((IsClosed ? 0 : 1), GridUnitType.Star);
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie löst man Rückrufe bei Änderungen der Abhängigkeitseigenschaft von XAML aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage