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();
Вы также можете определить новое окно в разметке:
Hello
с соответствующим кодом программной части:
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 .
Свойства
Возвращает объект , связанный AppWindow с этим XAML Window .
Возвращает значение Rect, содержащее высоту и ширину окна приложения в единицах эффективных (просмотр) пикселей.
Возвращает значение Compositor для этого окна.
Возвращает или задает визуальный корень окна приложения.
Классические приложения всегда возвращают для null этого свойства.
Классические приложения всегда возвращают для null этого свойства.
Всегда возвращается null в приложении Windows App SDK.
Window.Dispatcher в будущих выпусках могут быть изменены или недоступны. Вместо этого используйте Window.DispatcherQueue .
DispatcherQueue Возвращает объект для окна.
Получает или задает значение, указывающее, должна ли быть скрыта строка заголовка окна по умолчанию для создания пространства для содержимого приложения.
Возвращает или задает системный фон, применяемый к данному Window объекту . Фон отображается за Window содержимым.
Возвращает или задает строку, используемую для заголовка окна.
Возвращает значение, указывающее, является ли окно видимым.
Методы
Пытается активировать окно приложения, переведя его на передний план и задав фокус ввода.
Закрывает окно приложения.
Включает поведение строки заголовка для элемента XAML, если ExtendsContentIntoTitleBar имеет значение true .
События
Происходит при успешной активации окна.
Происходит при закрытии окна.
Происходит при первом отрисовке окна приложения или изменении размера отрисовки.
Происходит при изменении значения свойства Visible .
Библиотека пользовательского интерфейса Windows 2.2
WinUI 2.2 — это выпуск библиотеки пользовательского интерфейса Windows за август 2019 г.
Вы можете добавлять пакеты WinUI для приложения через диспетчер пакетов NuGet, как описано в статье Начало работы с библиотекой пользовательского интерфейса Windows.
Библиотека пользовательского интерфейса Windows (WinUI) размещена на GitHub , где мы рекомендуем отправлять отчеты об ошибках, запросы функций и вклады кода сообщества.
Журнал версий Microsoft.UI.Xaml 2.2
Официальный выпуск библиотеки пользовательского интерфейса Windows 2.2
Новые возможности
TabView
Description
Элемент управления TabView — это коллекция вкладок, каждая из которых представляет новую страницу или документ в приложении. TabView полезен, если в приложении есть несколько страниц содержимого, и пользователь должен иметь возможность добавлять, закрывать и переупорядочивать вкладки. Новый Терминал Windows использует TabView для отображения нескольких интерфейсов командной строки.
Документация
Обновления NavigationView
a) Обновление кнопки «Назад» NavigationView
Description
В минимальном режиме NavigationView кнопка «Назад» больше не исчезает. При открытии и закрытии панели пользователям больше не нужно перемещать курсор для нажатия кнопки-гамбургер. Эта функция будет работать по умолчанию. Для выполнения этой работы не нужно вносить изменения в код.
б) NavigationView — без автозаполнения

Description
Разработчики приложений теперь могут высвобождать все пиксели в окне приложения, если используют элемент управления NavigationView и переходят в область заголовка окна.
Документация
Обновления визуального стиля
a) Обновление радиуса угла

Description
Добавлен атрибут CornerRadius. Элементы управления по умолчанию обновлены для использования немного скругленных углов. Разработчики могут легко настроить радиус угла, чтобы при желании придать приложению уникальный вид.
Ссылка на спецификацию GitHub
б) Изменение толщины границы

Description
Свойство BorderThickness теперь проще настраивать. Элементы управления по умолчанию были обновлены, чтобы уменьшить контуры для более четкого и привычного вида.
Ссылка на спецификацию GitHub
c) Обновление визуального элемента кнопки

Описание.
Визуальный элемент кнопки по умолчанию был обновлен для удаления структуры, которая отображалась во время наведения, чтобы придать ей более приятный вид.
Ссылка на спецификацию GitHub:
г) Обновление визуального элемента SplitButton

Описание.
Стандартный визуальный элемент SplitButton обновлен, чтобы упростить его различение от DropDownButton.
Ссылка на спецификацию GitHub:
д) Обновление визуального элемента ToggleSwitch

Описание.
По умолчанию ширина ToggleSwitch уменьшена с 44 пкс до 40 пкс, поэтому она сбалансирована визуально, сохраняя при этом удобство использования.
Ссылка на спецификацию GitHub:
f) Обновление визуальных элементов CheckBox и RadioButton

Описание.
Визуальные элементы CheckBox и RadioButton обновлены, чтобы соответствовать остальным изменениям стиля визуальных элементов.
Ссылка на спецификацию GitHub:
Примеры
Дополнительные сведения, рекомендации по проектированию и примеры кода см. в статье Проектирование и разработка приложений для Windows.
Приложения из коллекции WinUI 3 и коллекции WinUI 2 включают интерактивные примеры большинства элементов управления, возможностей и функций WinUI 3 и WinUI 2.
Если они уже установлены, откройте их с помощью следующих ссылок: коллекция WinUI 3 или коллекция WinUI 2.
Если они не установлены, вы можете скачать коллекцию WinUI 3 и коллекцию WinUI 2 из Microsoft Store.
Исходный код можно также получить из GitHub (используйте главную ветвь для WinUI 3 и ветвь winui2 для WinUI 2).
Документация
Практические руководства по элементам управления из библиотеки пользовательского интерфейса Windows вы найдете в документации по элементам управления универсальной платформы Windows.
Справочные документы по API находятся здесь: API библиотеки пользовательского интерфейса Windows.
Начало работы с библиотекой пользовательского интерфейса Windows 2
Библиотека пользовательского интерфейса Windows 2.8 — это последняя стабильная версия WinUI, которую можно использовать для создания рабочих приложений UWP (и классических приложений, использующих XAML Islands).
Эта библиотека доступна в виде пакета NuGet, который можно добавить в любой новый или существующий проект Visual Studio.
Дополнительные сведения о создании классических приложений Windows с использованием последней версии WinUI 3 см. в статье Библиотека пользовательского интерфейса Windows 3.
Загрузка и установка библиотеки пользовательского интерфейса Windows
- Скачайте Visual Studio 2022 и убедитесь, что вы выбрали рабочую нагрузку разработки универсальная платформа Windows в установщике Visual Studio.
- Откройте существующий проект или создайте новый проект с помощью шаблона «Пустое приложение»в Visual C# -> Windows -> Универсальный, или используя соответствующий шаблон для вашей языковой проекции.
Важно! Чтобы использовать WinUI 2.8, необходимо задать TargetPlatformVersion = 10.0.18362.0 и TargetPlatformMinVersion >>= 10.0.17763.0 в свойствах проекта.

Панель Обозревателя решений с открытым с помощью щелчка правой кнопкой проектом и выделенным параметром «Управление пакетами NuGet».

Диалоговое окно диспетчера пакетов NuGet с открытой вкладкой «Обзор», в поле поиска которой отображается запись «winui», и флажком «Включить предварительные выпуски».
b. Если у вас есть другие ресурсы, мы рекомендуем добавить их в XamlControlsResources.MergedDictionaries . Это работает с системой ресурсов платформы, чтобы разрешить переопределение ресурсов XamlControlsResources .
-
На странице XAML добавьте ссылку в верхней части страницы.
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
using MUXC = Microsoft.UI.Xaml.Controls;
Дополнительные шаги для проекта C++/WinRT
Когда вы добавляете пакет NuGet в проект C++/WinRT, средство создает набор заголовков проекции в папке проекта \Generated Files\winrt . Чтобы поместить эти файлы с заголовками в свой проект и чтобы ссылки на эти новые типы работали, можно перейти к предварительно откомпилированному файлу заголовка (обычно pch.h ) и включить их в файл проекта. Ниже приведен пример, включающий созданные файлы заголовков для пакета Microsoft.UI.Xaml.
// pch.h . #include #include #include #include .
Полное пошаговое руководство по добавлению простой поддержки библиотеки пользовательского интерфейса Windows в проект C++/WinRT см. в статье Простой пример библиотеки пользовательского интерфейса Windows для C++/WinRT.
Дополнение к библиотеке пользовательского интерфейса Windows
Мы приветствуем отчеты об ошибках, запросы функций и вклады кода сообщества в репозитории Microsoft-ui-xaml на GitHub.
Другие ресурсы
Если вы не знакомы с UWP, рекомендуем ознакомится со статьей Приступая к работе с приложениями для Windows 10 на портале разработчика.
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Заметки о выпуске библиотеки пользовательского интерфейса Windows 2
Библиотека пользовательского интерфейса Windows (WinUI) размещена на GitHub , где мы рекомендуем отправлять отчеты об ошибках, запросы функций и вклады кода сообщества.
WinUI включает два пакета NuGet:
- Microsoft.UI.Xaml: элементы управления и fluent Design для приложений UWP. Это основной пакет WinUI.
- Microsoft.UI.Xaml.Core.Direct: низкоуровневые API для использования в компонентах ПО промежуточного слоя.
Скачать и использовать пакеты WinUI для приложения можно через диспетчера пакетов NuGet, как описано в статье о начале работы с библиотекой пользовательского интерфейса Windows.
Примеры
Дополнительные сведения, рекомендации по проектированию и примеры кода см. в статье Проектирование и разработка приложений для Windows.
Приложения из коллекции WinUI 2 включают интерактивные примеры большинства элементов управления, возможностей и функций WinUI 2.
Если приложение коллекции уже установлено, щелкните коллекцию WinUI 2, чтобы открыть ее.
Если приложение коллекции не установлено, скачайте коллекцию WinUI 2 из Microsoft Store.
Исходный код можно также получить из GitHub (выберите ветвь winui2).
Документация
Практические руководства по элементам управления из библиотеки пользовательского интерфейса Windows вы найдете в документации по элементам управления универсальной платформы Windows.
Справочные документы по API находятся здесь: API библиотеки пользовательского интерфейса Windows.
Журнал версий
| Версия пакета NuGet Microsoft.UI.Xaml | Тип | Дата запуска в производство | Заметки о выпуске | Советы |
|---|---|---|---|---|
| 2.8 | stable | Июль 2022 | Заметки о выпуске | WebView2 |
| 2.7 | stable | Сентябрь 2021 года | Заметки о выпуске | InfoBadge, горизонтальная ориентация в ColorPicker |
| 2.6 | stable | Июнь 2021 года | Заметки о выпуске | Mica, Expander, BreadcrumbBar, ImageIcon, AnimatedIcon, PipsPager |
| 2.5 | stable | Декабрь 2020 г. | Заметки о выпуске | InfoBar, определение ProgressRing, FooterMenuItems для NavigationView |
| 2.4 | stable | Май 2020 г. | Заметки о выпуске | RadialGradientBrush, ProgressRing, обновления TabView, обновление темной темы для семейства элементов управления TextBox, иерархическая навигация |
| 2.3 | stable | Ноябрь 2019 г. | Заметки о выпуске | Обновление внешнего вида индикатора выполнения, NumberBox, RadioButtons |
| 2.2 | stable | Август 2019 | Заметки о выпуске | TabView, обновление NavigationView, обновление визуального стиля |
| 2.1 | stable | Апрель 2019 г. | Заметки о выпуске | Первый выпуск с открытым кодом из GitHub. Сюда входят ItemsRepeater, AnimatedVisualPlayer, TeachingTip, RadioMenuFlyoutItem, CompactDensity и Shadows. |
| 2.0 | stable | 2018 октября | Заметки о выпуске | Исходный выпуск. Включает в себя официальные нативные элементы управления и функции в стиле Fluent для приложений Windows UWP. |
Библиотека пользовательского интерфейса Windows 3, предварительная версия 4 (февраль 2021 г.)
Дополнительные сведения о создании классических приложений Windows и приложений UWP с использованием последней версии WinUI 3 см. в статье Библиотека пользовательского интерфейса Windows 3.
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.