Передача значения из окна в список в другом окне - C # WPF - PullRequest
0 голосов
/ 15 марта 2019

Значение передается и добавляется, но когда я иду в это окно, оно не добавляется в список.Значение добавляется в коллекцию, но не в список.Я обнаружил, что если я попытаюсь добавить другое значение, оно перезапишет оригинал (счетчик всегда равен 1, изображение с третьего раза, передающего строку).Объясняя, вы можете объяснить это легко, потому что я только начинающий.Все, что я хочу выяснить в первую очередь, это заставить его печатать в окне списка.

Окно 1

    ObservableCollection<string> Modules = new ObservableCollection<string>();

    public void PassedThroughWindow(string _module)
    {
        string moduleName = _module;

        //Data not being printed to the listbox
        Modules.Add(moduleName.ToString());
        lbxTimeTable.ItemsSource = StringModules;
    }

Окно 2

        string ModuleName = TbxModuleName.Text;

        //Passing Data To Main Window
        MainWindow main = new MainWindow();
        main.PassedThroughWindow(ModuleName);  

Отладка из окна 1: Debug From Window One

Ответы [ 2 ]

0 голосов
/ 15 марта 2019
ObservableCollection<string> Modules = new ObservableCollection<string>();

public MainWindow()
{ 
      //Assign item source only once and try adding items it should help
      lbxTimeTable.ItemsSource = Modules;
}  

public void PassedThroughWindow(string _module)
{
    string moduleName = _module;

    //Data not being printed to the listbox
    //Change stringModules to Modules which is defined above
    Modules.Add(moduleName.ToString());

}

Также еще один момент, где определяется StringModules ?. Определите только один экземпляр главного окна и передайте данные.

0 голосов
/ 15 марта 2019

Вы передаете значение новому экземпляру главного окна, а не существующему

MainWindow main = new MainWindow();
main.PassedThroughWindow(ModuleName);  

Именно поэтому оно не отображается в существующем главном окне

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...