Window.Show Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Открывает окно и возвращается без ожидания закрытия нового открытого окна.
public:
void Show();
public void Show ();
member this.Show : unit -> unit
Public Sub Show ()
Исключения
Примеры
В следующем примере показано, как открыть окно без режима.
// Initialize window
Window window = new Window();
// Show window modelessly
// NOTE: Returns without waiting for window to close
window.Show();
' Initialize window
Dim window As New Window()
' Show window modelessly
' NOTE: Returns without waiting for window to close
window.Show()
Комментарии
При создании экземпляра Window класса он не отображается по умолчанию. Show отображает окно и возвращается немедленно, не дожидаясь закрытия окна. Следовательно, открытое окно не запрещает пользователям взаимодействовать с другими окнами в приложении. Этот тип окна называется окном без режима . Распространенными примерами режимных окон являются окна свойств, панели элементов и палитры. Чтобы ограничить взаимодействие пользователя с определенным окном, окно должно быть открыто путем вызова ShowDialog.
Окно, которое открывается путем вызова Show , не имеет связи с окном, которое его открыло. В частности, открытое окно не знает, какое окно его открыло. Эту связь можно установить с помощью Owner свойства и управлять с помощью OwnedWindows свойства .
Вызов Show обеспечивает тот же конечный результат, что и для свойства WindowVisibility объекта Visibleзначение . Однако с точки зрения времени между ними существует разница.
Вызов Show — это синхронная операция, которая возвращается только после Loaded возникновения события в дочернем окне:
Window w = new Window();
w.Loaded += delegate { System.Console.WriteLine("This is written first."); };
w.Show();
System.Console.WriteLine("This is written last.");
Dim w As New Window()
AddHandler w.Loaded, Sub() System.Console.WriteLine("This is written first.")
w.Show()
System.Console.WriteLine("This is written last.")
Однако параметр Visibilityявляется асинхронной операцией, которая немедленно возвращает:
Window w2 = new Window();
w2.Loaded += delegate { System.Console.WriteLine("This is written last."); };
w2.Visibility = Visibility.Visible;
System.Console.WriteLine("This is written first.");
Dim w2 As New Window()
AddHandler w2.Loaded, Sub() System.Console.WriteLine("This is written last.")
w2.Visibility = Visibility.Visible
System.Console.WriteLine("This is written first.")
При установке Visibilityвсе события окна, зарегистрированные перед установкой Visibility , могут вызываться только после завершения выполнения метода, в котором вы задали Visibility .