2015-10-31 3 views
0

У меня есть окно wpf, на котором отображается карта Bing whith som bushpin на нем, Окно открывается нажатием кнопки в коде. Каждый раз, когда я нажимаю на кнопку, появляется новое окно с текущими новыми данными.Обновить окно wpf

Как закрыть закрытое окно «allready» и открыть новый с новыми данными или обновить текущее открытое окно с новыми данными.

вот мой код:

 IList<object> rowsToExport = getRows(); 
     BingMapWindow window = new BingMapWindow(rowsToExport); 

     // somthing like this 
     if(window.IsOpened) 
      window.Close; 
     window.show(); 

      OR 
     if(window.IsOpened) 
      window.refresh(); 

ответ

0

Рассматривали ли вы хранить ссылку на это окно внешнего метода и просто проверить его на нуль?

BingMapWindow window; 

private void CloseWindow() 
{ 
    if(window != null) 
    { 
     window.Close(); 
     window = null; 
    } 
} 

private void OpenWindow(BingMapWindow window) 
{ 
    this.window = window; 
    this.window.Show(); 
} 

private void ButtonHandler() 
{ 
    CloseWindow(); 
    var bingWindow = new BingMapWindow(); 
    OpenWindow(bingWindow); 
} 
+0

Или, если вы хотите обновить данные, может быть достаточно, если вы измените свойство DataContext, если оно использует его. – yoger

Смежные вопросы