Создать новую кнопку со свойствами, используя класс - PullRequest
0 голосов
/ 05 марта 2012

Как создать новую кнопку на панели стека, возможно, в файле класса

 public static void addbtn()
    {
        Page1 p1 = new Page1();
        Button btn = new Button();
        p1.stackPanel1.Children.Add(btn);
    }

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

Моя цель - создать кнопку в форме 1 одним нажатием кнопки из формы 2.

Пожалуйста, помогите мне с этим. Спасибо!

Ответы [ 2 ]

1 голос
/ 05 марта 2012

Вы добавляете свою кнопку к только что созданному объекту Page1, который, предположительно, не является тем, который показан пользователю.

Если вы находитесь в том же классе, который определяет саму Page1, вы можетепросто используйте

this.stackpanel1.children.add(btn)

Хотя обратите внимание, что это должен быть метод экземпляра, а не статический метод, в противном случае он не будет знать, к чему относится «this».

Если это нетого же класса, тогда вам нужно будет передать ему ссылку на объект, к которому вы пытаетесь добавить кнопку.Примерно так:

public static void addbtn(Page1 p1)
{
    Button btn = new Button();
    p1.stackPanel1.Children.Add(btn);
}

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

1 голос
/ 05 марта 2012

Ваш код должен работать. Вы можете добавить свойства / события для кнопки, как:

Button btn = new Button();
btn.Content = "Press me";
btn.Click = (sender, e) => { *your handling code* };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...