Dela via


Kom igång med WinUI 2 för UWP

WinUI 2.8 är den senaste stabila versionen av WinUI som kan användas för att skapa UWP-produktionsprogram (och skrivbordsprogram med XAML-öar).

Biblioteket är tillgängligt som ett NuGet-paket som kan läggas till i alla nya eller befintliga Visual Studio-projekt.

Anmärkning

Mer information om hur du skapar Windows-skrivbordsappar med den senaste versionen av WinUI 3 finns i WinUI 3.

Konfigurera Visual Studio för UWP-utveckling

Ladda ned Visual Studio 2022 och installera verktygen för UWP-utveckling. Mer detaljerade instruktioner finns i Skapa en UWP-app i Visual Studio-dokumenten.

På fliken Arbetsbelastningar i Visual Studio Installer-appen väljer du följande arbetsbelastningar och komponenter:

  • Välj arbetsbelastningen WinUI-programutveckling . Välj sedan det UWP-alternativ du behöver i fönstret Installationsinformation under noden WinUI-programutveckling (detta kommer också att välja eventuella ytterligare nödvändiga komponenter).):

    • För C# väljer du Universella Windows-plattformsverktyg.
    • För C++väljer du C++ (v14x) Universal Windows Platform-verktyg (välj den senaste versionen om du inte har en specifik anledning att använda en tidigare version).

Anmärkning

I Visual Studio 17.10 – 17.12 kallas den här arbetsbelastningen för Windows-programutveckling.

Ladda ned och installera WinUI

  1. Öppna ett befintligt projekt eller skapa ett nytt projekt med mallen Tom applikation i Visual C# > Windows > Universal eller den lämpliga mallen för din språkprojektion.

    Viktigt!

    Om du vill använda WinUI 2.8 måste du ange TargetPlatformVersion >= 10.0.18362.0 och TargetPlatformMinVersion >= 10.0.17763.0 i projektegenskaperna.

  2. I panelen Solution Explorer högerklickar du på projektnamnet och väljer Hantera NuGet-paket.

    Skärmbild av panelen Solution Explorer med projektet högerklickat och alternativet Hantera NuGet-paket markerat.
    Panelen Solution Explorer med projektet högerklickat och alternativet Hantera NuGet-paket markerat.

  3. I NuGet Package Manager väljer du fliken Bläddra och söker efter Microsoft.UI.Xaml eller WinUI. Välj vilka WinUI NuGet-paket du vill använda ( Microsoft.UI.Xaml-paketet innehåller Fluent-kontroller och funktioner som är lämpliga för alla appar). Klicka på Installera.

    Markera kryssrutan "Inkludera förhandsversion" för att se de senaste förhandsversionerna som innehåller nya experimentella funktioner.

    Skärmbild av dialogrutan NuGet Package Manager som visar fliken Bläddra med
    Dialogrutan NuGet Package Manager som visar fliken Bläddra med winui i sökfältet och Inkludera förhandsversioner markerad.

  4. Lägg till WinUI-temaresurser i filen App.xaml.

    Det finns två sätt att göra detta, beroende på om du har ytterligare programresurser.

    a. Om du inte behöver andra programresurser lägger du till elementet WinUI-resurser XamlControlsResources som du ser i följande exempel:

    <Application
        x:Class="ExampleApp.App"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        RequestedTheme="Light">
    
        <Application.Resources>
            <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
        </Application.Resources>
    
    </Application>
    

    b) Om du har andra resurser rekommenderar vi att du lägger till dem i XamlControlsResources.MergedDictionaries. Detta fungerar med plattformens resurssystem för att tillåta åsidosättningar av XamlControlsResources resurser.

    <Application
        x:Class="ExampleApp.App"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:controls="using:Microsoft.UI.Xaml.Controls"
        RequestedTheme="Light">
    
        <Application.Resources>
            <controls:XamlControlsResources>
                <controls:XamlControlsResources.MergedDictionaries>
                    <ResourceDictionary Source="/Styles/Styles.xaml"/>
                    <!-- Other app resources here -->
                </controls:XamlControlsResources.MergedDictionaries>
            </controls:XamlControlsResources>
        </Application.Resources>
    
    </Application>
    
  5. Lägg till en referens till WinUI-paketet på både XAML-sidor och/eller bakomliggande sidor.

    • Lägg till en referens överst på sidan på XAML-sidan

      xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
      
    • I din kod (om du vill använda typnamnen utan att kvalificera dem) kan du lägga till ett användningsdirektiv.

      using MUXC = Microsoft.UI.Xaml.Controls;
      

Ytterligare steg för ett C++/WinRT-projekt

När du lägger till ett NuGet-paket i ett C++/WinRT-projekt genererar verktygen en uppsättning projektionshuvuden i projektets \Generated Files\winrt mapp. Om du vill införa dessa headerfiler i ditt projekt, så att referenser till de nya typerna löses, kan du gå in i den förkompilerade headerfilen (vanligtvis pch.h) och inkludera dem. Nedan visas ett exempel som innehåller de genererade huvudfilerna för Microsoft.UI.Xaml-paketet .

// pch.h
...
#include <winrt/Microsoft.UI.Xaml.Automation.Peers.h>
#include <winrt/Microsoft.UI.Xaml.Controls.Primitives.h>
#include <winrt/Microsoft.UI.Xaml.Media.h>
#include <winrt/Microsoft.UI.Xaml.XamlTypeInfo.h>
...

En fullständig stegvis genomgång av hur du lägger till enkelt stöd för WinUI i ett C++/WinRT-projekt finns i Ett enkelt C++/WinRT WinUI-exempel.

WinUI på GitHub

Vi välkomnar buggrapporter i lagringsplatsen microsoft-ui-xaml på GitHub.