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 достигает того же конечного Window результата, что и свойство параметра Visibility объекта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 выполнение.