Поделиться через


Window Класс

Определение

Представляет окно текущего приложения.

/// [Microsoft.UI.Xaml.Markup.ContentProperty(Name="Content")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Window
[Microsoft.UI.Xaml.Markup.ContentProperty(Name="Content")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public class Window
Public Class Window
Наследование
Object IInspectable Window
Атрибуты

Примеры

OnLaunched

В следующем примере кода показано переопределение метода OnLaunched , созданное для шаблона WinUI in Desktop в Microsoft Visual Studio. В этом коде демонстрируется типичное использование метода Activate в Window.

protected override void OnLaunched(Microsoft.UI.Xaml.LaunchActivatedEventArgs args)
{
    m_window = new MainWindow();
    m_window.Activate();
}

private Window m_window;

Создание нового окна

В приложениях вы можете создать каждое окно явным образом. Для создания нескольких окон требуется обновление 1.0.1 до WindowsAppSDK и ограничено одним потоком.

var window = new Window();
window.Content = new TextBlock() { Text = "Hello" };
window.Activate();

Вы также можете определить новое окно в разметке:

<Window 
    x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <TextBlock>Hello</TextBlock>
</Window>

с соответствующим кодом программной части:

public partial class MainWindow : Window
{
  public MainWindow()
  {
    InitializeComponent();
  }
}

...
var window = new MainWindow();
window.Activate();

Комментарии

В приложениях можно создать несколько Window потоков. См . статью Создание нового окна в разделе Примеры.

Window реализует IWindowNative для включения взаимодействия с помощью HWND Окна (WindowHandle).

Как правило, Window используется для задания uiElementзначения Content , представляющего пользовательский интерфейс приложения. Обычно это делается в рамках активации приложения (например, при переопределении OnLaunched ) и позволяет изменять содержимое окна на протяжении всего времени существования окна.

Убедитесь, что вы вызываете метод Activate для всех Window используемых при начальной активации. Если вы используете шаблоны приложений по умолчанию из Microsoft Visual Studio, Window.Activate включается в файл кода программной части App.xaml.

Конструкторы

Window()

Инициализирует новый экземпляр класса Window .

Свойства

AppWindow

Возвращает объект , связанный AppWindow с этим XAML Window.

Bounds

Возвращает значение Rect, содержащее высоту и ширину окна приложения в единицах эффективных (просмотр) пикселей.

Compositor

Возвращает значение Compositor для этого окна.

Content

Возвращает или задает визуальный корень окна приложения.

CoreWindow

Классические приложения всегда возвращают для null этого свойства.

Current

Классические приложения всегда возвращают для null этого свойства.

Dispatcher

Всегда возвращается null в приложении Windows App SDK.

Примечание

Window.Dispatcher в будущих выпусках могут быть изменены или недоступны. Вместо этого используйте Window.DispatcherQueue .

DispatcherQueue

DispatcherQueue Возвращает объект для окна.

ExtendsContentIntoTitleBar

Получает или задает значение, указывающее, должна ли быть скрыта строка заголовка окна по умолчанию для создания пространства для содержимого приложения.

SystemBackdrop

Возвращает или задает системный фон, применяемый к данному Windowобъекту . Фон отображается за Window содержимым.

Title

Возвращает или задает строку, используемую для заголовка окна.

Visible

Возвращает значение, указывающее, является ли окно видимым.

Методы

Activate()

Пытается активировать окно приложения, переведя его на передний план и задав фокус ввода.

Close()

Закрывает окно приложения.

SetTitleBar(UIElement)

Включает поведение строки заголовка для элемента XAML, если ExtendsContentIntoTitleBar имеет значение true.

События

Activated

Происходит при успешной активации окна.

Closed

Происходит при закрытии окна.

SizeChanged

Происходит при первом отрисовке окна приложения или изменении размера отрисовки.

VisibilityChanged

Происходит при изменении значения свойства Visible .

Применяется к

См. также раздел