2009-07-27 7 views
0

Je crée un contrôle personnalisé qui ne teste pas sur ses enfants. Je prévois de surcharger la méthode HitTestCore pour renvoyer plusieurs contrôles qui tombent à l'intérieur ou qui se croisent avec une région géométrique. Je me demandais si quelqu'un d'autre a essayé ça. Avez-vous des indications pour moi? Ou existe-t-il un autre moyen que je peux faire ceci (sans réellement surcharger la méthode HitTestCore)? Merci d'avance pour votre aide. :)Overrriding Méthode HitTestCore pour détecter plusieurs contrôles dans WPF

Répondre

0

Donc, j'ai été en mesure d'obtenir plusieurs contrôles semble que je n'avais pas besoin de remplacer la méthode HitTestCore.

J'ai créé un HitTestFilterCallback et chaque fois qu'il a frappé sur un CheckBox (qui était le type de contrôle que je testais frappé) je l'ai enregistré sur une liste appelée _hitTestResults. Mais je ne suis pas sûr que ce soit la bonne façon de le faire: S

Voici ce que je l'ai fait:

HitTestFilterBehavior OnHitTestFilter(DependencyObject target) 
    { 
     if (target.GetType() == typeof(CheckBox)) 
     { 
      _hitTestResults.Add(target as CheckBox); // add the hittest result 
      return HitTestFilterBehavior.ContinueSkipChildren; 
     } 
     else 
      return HitTestFilterBehavior.Continue; 

    } 
Questions connexes