示例#1
0
 /// <summary>
 /// Добавляет окно в стек окон. В случае положительного флага, вызывает удаление предыдущего окна.
 /// </summary>
 /// <param name="window"></param>
 /// <param name="flag"></param>
 private static void Push(Window window, bool flag)
 {
     if (flag)
     {
         if (ViewStack.Count > 0)
         {
             Close(ViewStack.ElementAt(0));
             Pop();
         }
     }
     ViewStack.Push(window);
 }
示例#2
0
 /// <summary>
 /// Возвращает экземпляр текущего окна.
 /// </summary>
 /// <returns></returns>
 public static Window GetView()
 {
     return(ViewStack.ElementAt(0));
 }
示例#3
0
 /// <summary>
 /// В зависимости от флага, либо закрывает предыдущее окно,
 /// либо делает видимым новое, но не затрагивает старое окно.
 /// </summary>
 /// <param name="window"></param>
 /// <param name="flag"></param>
 public static void OpenNewWindowInShow(Window window, bool flag)
 {
     Push(window, flag);
     ViewStack.ElementAt(0).ShowDialog();
 }
示例#4
0
 /// <summary>
 /// Закрывает окно, с которым ведется работа.
 /// </summary>
 public static void CloseView()
 {
     Close(ViewStack.ElementAt(0));
     Pop();
 }
示例#5
0
 /// <summary>
 /// Открывает новое окно, закрывая предыдущее.
 /// </summary>
 /// <param name="window"></param>
 public static void OpenNewWindowInShowDialog(Window window)
 {
     Push(window, true);
     ViewStack.ElementAt(0).ShowDialog();
 }