La récupération du changement d'attribut dépendant de XAML
Lors de l'exécution de la valeur de l'attribut dépendant, la méthode correspondante
est immédiatement appelée. Cependant, lorsque le concepteur alloue la valeur d'attribut via le XAML, ces rappels maintiennent l'état de sommeil. Ce comportement découle de l'efficacité de la méthode qui utilise directement le système d'attribut, contournez la méthode de la méthode de paramètre de package d'attribut. Par conséquent, dans ce cas, la logique de l'emballage d'attribut n'est pas valide. OnPropertyChanged
SetValue
Afin de résoudre ce problème, veuillez utiliser les métadonnées d'attribut pour enregistrer un
PropertyChangedCallback
<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>
, quelle que soit la source est XAML, la liaison, etc. OnIsClosedChanged
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!