데스크톱 앱에서 보조 타일 고정

WinUI 3 앱(Windows 앱 SDK 사용) 또는 WPF(Windows Presentation Foundation) 또는 WinForms(Windows Forms) 앱과 같은 데스크톱 앱은 패키지된 앱을 사용하여 보조 타일을 고정할 수 있습니다(코드에서 MSIX 패키지 빌드 참조). 이는 이전에 데스크톱 브리지로 알려졌습니다.

Screenshot of secondary tiles

Important

Fall Creators Update 필요: SDK 16299를 대상으로 삼고 빌드 16299 이상을 실행하여 데스크톱 브리지 앱에서 보조 타일을 고정해야 합니다.

Windows 앱 SDK, WPF 또는 WinForms 애플리케이션에서 보조 타일을 추가하는 것은 순수 UWP 앱과 매우 유사합니다. 유일한 차이점은 주 창 핸들(HWND)을 지정해야 한다는 점입니다. 이러한 이유로 타일을 고정할 때 Windows는 타일을 고정할 것인지 사용자에게 확인을 요청하는 모달 대화 상자를 표시합니다. 데스크톱 애플리케이션이 소유자 창을 사용하여 SecondaryTile 개체를 구성하지 않으면 Windows에서 대화 상자를 그릴 위치를 알 수 없으며 작업이 실패합니다.

앱 패키지

WinUI 3을 사용하여 Windows 앱 SDK 애플리케이션을 만드는 경우 패키지된 애플리케이션을 사용하여 보조 타일을 고정해야 합니다. 패키지된 앱 템플릿으로 시작하는 경우 앱을 패키지하는 데 필요한 추가 단계는 없습니다.

WPF 또는 WinForms를 사용 중이고 데스크톱 브리지를 사용하여 앱을 패키지하지 않은 경우 Windows 런타임 API를 사용하려면 먼저 이 작업을 수행해야 합니다(코드에서 MSIX 패키지 빌드 참조).

IInitializeWithWindow 인터페이스를 사용하여 보조 타일 초기화 및 고정

참고 항목

이 섹션은 WinUI 3와 .NET 6 이상을 사용하는 WPF/WinForms를 위한 섹션입니다.

  1. 프로젝트 파일에서 TargetFramework 속성을 Windows 런타임 API에 액세스할 수 있는 값으로 설정합니다(.NET 6 이상: 대상 프레임워크 모니커 옵션 사용 참조). 여기에는 WinRT.Interop 네임스페이스에 대한 액세스가 포함됩니다(.NET 앱에서 interop API 호출 참조). 예시:

    <PropertyGroup>
      <!-- You can also target other versions of the Windows SDK and .NET; for example, "net6.0-windows10.0.19041.0" -->
      <TargetFramework>net6.0-windows10.0.22000.0</TargetFramework>
    </PropertyGroup>
    
  2. 일반 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);
    
  3. 창 핸들을 검색하고 해당 핸들을 사용하여 보조 타일 개체를 초기화합니다. 아래 코드에서 this는 창 개체(WinUI 3 창, WPF 창 또는 WinForms 창)에 대한 참조입니다. 자세한 정보는 창 핸들(HWND) 검색CoreWindow에 의존하는 WinRT UI 개체 표시를 참조하세요.

    var hWnd = WinRT.Interop.WindowNative.GetWindowHandle(this);
    WinRT.Interop.InitializeWithWindow.Initialize(tile, hWnd);
    
  4. 마지막으로, 일반 UWP 앱에서와 같이 타일을 고정하도록 요청합니다.

    // Pin the tile
    bool isPinned = await tile.RequestCreateAsync();
    
    // Here, update UI to reflect whether user can now either unpin or pin
    

타일 알림 보내기

Important

2018년 4월 버전 17134.81 이상 필요: 타일 또는 배지 알림을 데스크톱 브리지 앱의 보조 타일로 보내려면 빌드 17134.81 이상을 실행해야 합니다. 이 .81 서비스 업데이트 전에 타일 또는 배지 알림을 데스크톱 브리지 앱의 보조 타일로 보낼 때 0x80070490 요소를 찾을 수 없음 예외가 발생했습니다.

타일 또는 배지 알림 보내기는 UWP 앱과 동일합니다. 시작하려면 로컬 타일 알림 보내기를 참조하세요.

리소스