Я объявил приватную переменную в классе MainWindow
, чтобы я мог использовать ее позже:
private GraphicPresenterWindow _GraphicPresenterWindow;
В конструкторе MainWindow
у меня есть следующая строка, открывающая новое окно:
_GraphicPresenterWindow = new GraphicPresenterWindow();
_GraphicPresenterWindow.Show();
Оба окна остаются открытыми одновременно.
Моя проблема в том, что я пытаюсь обновить Visibility
для некоторых StackPanels
и Text
для TextBlocks
из моего главного окна.
Вот код (для краткости я не опубликовал весь метод):
private void MainWindow_ShowFirstGraphBtn_Click(object sender, RoutedEventArgs e)
{
// previous code omitted
var CanShow = PresenterAPI.CanShowFirstGraph();
if (CanShow)
{
_GraphicPresenterWindow.InitialGraphStack.Visibility = Visibility.Collapsed;
_GraphicPresenterWindow.FirstGraphStack.Visibility = Visibility.Visible;
_GraphicPresenterWindow.FirstGraphTxtBlock.Text = string.Format("{0} retrospective", _YearNo);
}
// following code omitted
}
Второе окно обновляется, но только когда все MainWindow_ShowFirstGraphBtn_Click
метод выполнен.
Как заставить второе окно обновить значения при выполнении вызовов в этом методе?
Я также пытался использовать Dispatcher
, но безрезультатно.