Как обновить метку в MainWindow из класса контроллера? - PullRequest
0 голосов
/ 14 ноября 2018

Мой контроллер - это основной метод, который реализует мою модель и выполняет вычисления. Мой класс MainWindow имеет одну кнопку, и он будет обновлять результат из моего контроллера, как только он нажал. Теперь у меня проблема с обновлением меток с моего контроллера.

Метод кнопок - мой взгляд

public void Button1_Clicked(object sender, EventArgs args)
    {

 }

Я пытаюсь получить доступ к классу MainWindow из моего класса контроллера

            Application.Init();
            MainWindow win = new MainWindow();
            //here I want to use win object to access my view
            //but I can not access my labels

            win.Show();
            Application.Run();

Странная часть:

win.Button1_Clicked.first_label 

Я могу получить доступ к метке только через мою кнопку, что для меня совершенно бессмысленно

1 Ответ

0 голосов
/ 14 ноября 2018

Если вы хотите обновить метки или любой другой элемент управления в форме, вы должны написать соответствующий метод с общедоступным модификатором.

Публикация ярлыков / элементов управления - плохая практика.

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

например:.

public void SetLabelText(string text)
{
    LabelResult.Text = text;
}

EDIT:

для установки текста используйте

win.SetLabelText("some text");
...