Закрепление вторичных плиток из настольных приложений
Настольное приложение, например приложение WinUI 3, использующее Windows App SDK, или приложение Windows Presentation Foundation (WPF), или приложение Windows Forms (WinForms), может закрепить вторичную плитку на рабочем столе, используя упакованное приложение (см.: Создание пакета MSIX из кода). Это было ранее известно как Мост для настольных компьютеров.
Важный
Требуется обновление Fall Creators Update: необходимо установить целевой пакет SDK 16299 и запустить сборку 16299 или более поздней версии, чтобы закрепить дополнительные плитки из приложений Desktop Bridge.
Добавление вторичной плитки из пакета SDK для приложений Windows, WPF или WinForms очень похоже на чистое приложение UWP. Единственная разница в том, что необходимо задать основной дескриптор окна (HWND). Это связано с тем, что при закреплении плитки Windows отображает модальное диалоговое окно с просьбой пользователя подтвердить, хотите ли они закрепить плитку. Если настольное приложение не настраивает объект SecondaryTile с окном владельца, Windows не знает, где отобразить диалоговое окно, и операция завершится ошибкой.
Упаковка приложения
Если вы создаете приложение пакета SDK для приложений Windows с помощью WinUI 3, необходимо использовать упакованое приложение для закрепления дополнительных плиток. Если вы начинаете работу с шаблоном упаковаемого приложения, не требуется никаких дополнительных действий.
Если вы используете WPF или WinForms, а приложение не упаковано с помощью моста для настольных компьютеров, вам потребуется сделать это, прежде чем использовать любые API среды выполнения Windows (см. создание пакета MSIX из кода).
Инициализация и закрепление вторичной плитки с помощью интерфейса IInitializeWithWindow
Заметка
Этот раздел предназначен для WinUI 3; и для WPF/WinForms с .NET 6 или более поздней версии.
В файле проекта задайте свойство TargetFramework значением, обеспечивающим доступ к API среды выполнения Windows (см. .NET 6 и более новых версий: использование параметра Монникер целевой платформы). Это включает доступ к пространству имен WinRT.Interop (см. api взаимодействия вызовов из приложения .NET). Например:
<PropertyGroup> <!-- You can also target other versions of the Windows SDK and .NET; for example, "net8.0-windows10.0.19041.0" --> <TargetFramework>net8.0-windows10.0.19041.0</TargetFramework> </PropertyGroup>
Инициализируйте новый объект вторичной плитки так же, как и в обычном приложении UWP. Дополнительные сведения о создании и закреплении вторичных плиток см. в статье Закрепление дополнительных плиток.
// Initialize the tile with required arguments var tile = new Windows.UI.StartScreen.SecondaryTile( "myTileId5391", "Display name", "myActivationArgs", new Uri("ms-appx:///Assets/Square150x150Logo.png"), TileSize.Default);
Получите дескриптор окна и инициализируйте вторичную плитку с помощью этого дескриптора. В приведенном ниже коде
this
является ссылкой на объект Window (будь то окно WinUI 3, окно WPF или окно WinForms). Дополнительные сведения см. в статьях Извлечение дескриптора окна (HWND) и Отображение объектов пользовательского интерфейса WinRT, зависящих от CoreWindow.var hWnd = WinRT.Interop.WindowNative.GetWindowHandle(this); WinRT.Interop.InitializeWithWindow.Initialize(tile, hWnd);
Затем создайте запрос на закрепление плитки, как в обычном приложении UWP.
// Pin the tile bool isPinned = await tile.RequestCreateAsync(); // Here, update UI to reflect whether user can now either unpin or pin
Отправить уведомления о плитках
Важный
требуется версия 17134.81 или более поздней версии 2018 г.: для отправки уведомлений плитки или эмблемы на вторичные плитки из приложений Моста компьютеров необходимо запустить сборку 17134.81 или болеепоздней версии. Перед этим обновлением обслуживания .81 произошла ошибка 0x80070490 "Элемент не найден" при отправке уведомлений плитки или уведомлений индикаторов дополнительным плиткам из приложений Desktop Bridge.
Отправка уведомлений о плитке или значке такая же, как у приложений UWP. Посмотрите и отправьте уведомление о локальной плитке, чтобы начать.
Ресурсы
- Пример приложения с дополнительной плиткой
- обзор вторичных плиток
- Закрепление дополнительных плиток (UWP)
- Desktop Bridge
- Примеры кода моста классических приложений
Windows developer