Heim >Backend-Entwicklung >C++ >Wie löst man Rückrufe bei Änderungen der Abhängigkeitseigenschaft von XAML aus?
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
<code class="language-csharp">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); }</code>
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!