Изначально эта проблема заключалась в следующем: «Как обновить элементы пользовательского интерфейса из другого класса», которую я решил с помощью
public static MainWindow window
{
get
{
return Application.Current.Windows.OfType().FirstOrDefault()
}
}
используя строку типа «MainWindow.window.(элемент пользовательского интерфейса для обновления);» чтобы обновить элемент пользовательского интерфейса
Я решил попробовать добавить страницы в свое приложение, что я и сделал
public MainWindow()
{
AssemblerGUI assemblerWindow = new AssemblerGUI();
NavigationFrame.Navigate(assemblerWindow);
}
(NavigationFrame — это имя элемента Frame в xaml)
Страницы работают, но описанный выше обходной путь позволяет другим классам изменять пользовательский интерфейс. не работает и выдает «Ссылка на объект не установлена на экземпляр объекта» при каждом его вызове, поскольку создается экземпляр страницы для перехода к нему в кадре.
Я бы думаю, я мог бы просто вставить весь код в файл .xaml.cs страницы, но это будет сильно раздражать меня в будущем, когда я хочу добавить функции.
Я попробовал свое предыдущее решение, но оно выдает ошибку при создании экземпляра страницы (и это необходимо для работы XAML)
public static AssemblerGUI page
{
get
{
return Application.Current.Windows.OfType().FirstOrDefault();
}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... -class-wpf