2016-11-09 2 views
-3

Nous sommes conscients de la fonction:notification lorsqu'un Obtenez DependencyProperty d'un changement de contrôle

protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e)

Nous pouvons l'utiliser pour être averti quand touteDependencyProperty d'un DependencyObject changements.

Prenons l'exemple d'un DependencyObject qui est un Button, utiliser cette fonction, nous avons besoin de sous-classe d'une Button, qui semble lourd, en fonction est protected.

Pouvons-nous obtenir cette notification par d'autres moyens, qui n'impliquent pas de sous-classement?

+0

Que demandez-vous? A en juger par votre titre, vous avez déjà répondu à votre question. Si vous voulez ** any ** alors utilisez l'événement 'PropertyChanged', si vous avez besoin d'un événement spécial, manipulez l'événement et filtrez-le. – SharpShade

+0

@SharpShade Plz Publier un échantillon – AnjumSKhan

Répondre

-1

Vous pouvez filtrer les événements modifiés en utilisant le nom de la propriété.

Button button = new Button(); 
button.PropertyChanged += ButtonChangedHandler; 

private void ButtonChangedHandler(object sender, PropertyChangedEventArgs e) 
{ 
    if (e.PropertyName == nameof(Button.Text)) 
    { 
     // Handle "Text"-property change 
    } 
} 
+0

Avez-vous exécuté ce code et vérifié? – AnjumSKhan

+0

Est-ce une question sérieuse? Ce n'est pas "demander et laisser votre travail être fait par d'autres". C'est "essayer, rechercher, demander et essayer d'appliquer les réponses". Bien sûr, cela ne fonctionnera pas comme ça, mais vous devriez certainement pouvoir utiliser cet extrait dans votre code. Si ce n'est pas le cas, envisagez d'ajouter votre code. – SharpShade

+0

C'est le moyen ... OP devrait essayer d'exécuter après le formatage –