2009-04-21 6 views
3

Je crée une zone de texte de recherche spéciale. Entre autres choses, il a ces deux événements:L'événement ne s'affiche pas dans la grille de propriétés

[Category("Behavior")] 
    public event EventHandler<GenericEventArgs<string>> Search; 

    [Category("Property Changed")] 
    public event EventHandler<EventArgs> ActiveColorChanged; 

    [Category("Property Changed")] 
    public event EventHandler<EventArgs> InactiveColorChanged; 

La chose est que seuls les deux apparaît dans la vue de conception explorer des événements de la propriété (thingy bas quel que soit son nom est ...). Et je me demande pourquoi. Est-ce parce que je n'utilise pas la norme EventArgs? Cela ne devrait pas être le cas si, parce que je veux dire, il y a d'autres événements qui n'utilisent pas que ... comme les principaux événements liés presse, etc ...

La classe GenericEventArgs<T> ressemble à ceci:

public class GenericEventArgs<T> : EventArgs 
{ 
    public T Value { get; private set; } 
    public GenericEventArgs() : this(default(T)) { } 
    public GenericEventArgs(T value) { Value = value; } 
} 

Qu'est-ce que je fais mal ici?

+2

BTW, votre question sera plus facile pour les autres de trouver si vous modifiez votre sujet à utiliser "Property Grid" au lieu de "chose vue de l'explorateur de la propriété design". ;-) –

+0

quelqu'un l'a changé en fenêtre de propriétés. Je voulais utiliser un meilleur nom, mais je ne me souvenais pas comment il s'appelait, alors je l'ai laissé à quelqu'un qui savait: P – Svish

Répondre

5

Je soupçonne que la propriété Grille ne supporte pas votre classe EventHandler double générique. Essayez ceci:

public delegate void GenericHandler<T>(object sender, GenericEventArgs<T> e); 

Si cela ne fonctionne pas, essayez un gestionnaire entièrement non-générique, si seulement pour voir si c'est là le problème. Si ce est le problème, alors je vous suggère de créer un rapport de bug à ce sujet sur Connect, puis de poster l'URL du bug ici pour que nous puissions voter dessus.

+0

Um ... comment l'utiliser? pour un événement? événement public GenericHandler Rechercher; ? – Svish

+0

C'est ce que j'essaierais. Est-ce que ça ne marche pas? –

+0

On dirait que oui: D Merci! – Svish

Questions connexes