Предоставление пользовательского интерфейса для управления событием щелчка по коду

#c# #wpf #events

#c# #wpf #Мероприятия

Вопрос:

Я хочу сделать что-то вроде этого:

 <Grid Button.Click="grid_Button_Click">...</Grid>
 

но в коде.
Я прочитал http://msdn.microsoft.com/en-us/magazine/cc785480.aspx , но я не нашел ответа.

Например, у меня есть код:

 Object gr = new FrameworkElement();
gr.Click =  = ( o, args ) => { /* ... */ };
 

Как это сделать?

ОТРЕДАКТИРОВАНО

Комментарии:

1. Почему вы хотите установить его программно? Нужно ли добавлять событие во время выполнения после того, как произошли какие-то другие события?

2. Вы пытаетесь получить, когда пользователь нажимает в любом Grid месте или в строке или ячейке или что? У каждого из них есть немного другое решение.

3. Я хочу сделать это для управления с любым типом. На самом деле я не знаю тип элемента управления, потому что это тип объекта. Я знаю только, что это будет элемент управления пользовательским интерфейсом

Ответ №1:

Вы, конечно, можете это сделать, хотя я бы обсудил необходимость.

В любом случае, это можно сделать следующим образом…

 Grid g = new Grid();
g.MouseLeftButtonDown  = (s, args) =>
       {
          //do stuff, you can reference s and args where s is the sender
       };
 

Ответ №2:

Чтобы добавить обработчик к присоединенному событию, вызовите Add*Handler метод:

 Class.AddSomeHandler(grid, (o, args) => ...);
 

Button.Click не является присоединенным событием, поэтому этот метод не существует.

Комментарии:

1. Итак, что я могу использовать вместо этого?

2. Это не имеет смысла. Это не прикрепленное событие.

3. Есть ли какой-либо список подключенных событий? Есть ли у вас какая-либо ссылка на список подключенных событий?