2011-01-18 2 views
0

Je hérite d'un contrôle tiers et dois ajouter des étapes pour certains événements.WPF - Événement de substitution

Mon vieux XAML:

<ThirdPartyControl Sorting="ThirdPartyControl_Sorting" /> 

Mon nouveau XAML:

<MyInheritedControl Sorting="ThirdPartyControl_Sorting" /> 

Dans mon contrôle hérité je voudrais mettre en œuvre les nouvelles mesures et acheminer l'événement normalement. Comment puis-je faire ceci?

Répondre

2

Votre contrôle tiers et fournir la protection méthode de OnSorting virtuelle? Si c'est le cas, vous pouvez l'ignorer et faire ce que vous voulez, puis appeler l'implémentation de base:

protected override OnSorting(SortingEventArgs e) 
{ 
    // Do your thing 

    base.OnSorting(e); 
} 
0

Avec la base vous pouvez toujours appeler la classe parente d'un objet hérité (enfant):

 void Init() 
     { 
      base.Init(); 
     } 

Comme vous dit que vous devez acheminer l'événement au parent. Mais je ne pense pas que cela puisse être fait directement en XAML. Vous pouvez même passer des paramètres de la méthode:

 void Init(int value) 
     { 
      base.Init(value); 
     }