Вопрос

Я создаю специальное текстовое поле поиска.Среди прочего, в нем есть эти два события:

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

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

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

Дело в том, что в проводнике событий свойств конструкторского представления отображаются только два нижних элемента (как бы это ни называлось ...).И мне интересно, почему.Это потому, что я не использую стандарт EventArgs?Однако этого не должно быть, потому что я имею в виду, что есть другие события, не использующие это...например, события, связанные с нажатием клавиш, и т.д...

В GenericEventArgs<T> класс выглядит примерно так:

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

Что я здесь делаю не так?

Это было полезно?

Решение

Я подозреваю , что Сетка свойств не поддерживает ваш класс EventHandler с двойным обобщением.Попробуй это:

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

Если это не сработает, попробуйте использовать совершенно не универсальный обработчик, хотя бы для того, чтобы посмотреть, не в этом ли проблема.

Если это является проблему, то я предлагаю вам создать отчет об ошибке об этом на Контакты, затем разместите URL-адрес ошибки здесь, чтобы мы могли проголосовать за нее.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top