Moderna Windows funktioner för skrivbordsappar

Du behöver inte skriva om din WPF-, Windows Forms- eller Win32-app för att dra nytta av moderna Windows funktioner. Den Windows App SDK och den bredare Windows-plattformen erbjuder modulära funktioner som du kan använda stegvis, i din egen takt.

I den här artikeln beskrivs tre oberoende moderniseringsmetoder – anropa api:er för Windows Runtime (WinRT), lägga till Windows App SDK och använda MSIX-paketering – så att du kan bestämma vilka funktioner som ska läggas till och var du ska börja baserat på appens ramverk.

Migrering av användargränssnittsramverk till WinUI 3

Om målet är att helt modernisera appens användargränssnittslager rekommenderar vi att du migrerar till WinUI 3 – det interna användargränssnittsramverket för Windows skrivbordsappar. Se Skapa din första WinUI 3-app för att komma igång.

Om du vill lägga till Windows funktioner i ditt befintliga appramverk (WPF, Windows Forms eller C++ Win32) utan att ändra användargränssnittsskiktet använder du någon av de moderniseringsmetoder som beskrivs i den här artikeln.

Note

Den här artikeln beskriver hur du lägger till moderna Windows funktioner i din befintliga skrivbordsapp. Om du vill modernisera din .NET verktygskedja eller C++-kompilator kan du läsa GitHub Copilot modernisering för .NET eller Microsoft portnings- och uppgraderingsguiden för C++.

Moderniseringsmetoder

De tre moderniseringsmetoderna är oberoende. Du kan använda en, två eller alla tre i samma app.

Tillvägagångssätt Vad det ger dig Kräver förpackning?
WinRT-API:er Direkt åtkomst till Windows plattforms-API:er (meddelanden, Bluetooth, delningskontrakt, sensorer med mera) från valfri .NET- eller C++-skrivbordsapp Nej, för de flesta API:er
SDK för Windows-appar Ett NuGet-paket som ger moderna Windows utvecklingsfunktioner (fönster, textrendering, resurser med mera) till befintliga appar Nej, för de flesta funktioner
MSIX-paketering Ett modernt installationsprogram med ren avinstallation, automatiska uppdateringar och paketidentitet. kräver inga ändringar i källkoden N/A — förpackning är tillvägagångssättet

Tips/Råd

Börja med WinRT-API:er om du vill anropa ett specifikt Windows plattforms-API. Lägg till Windows App SDK när du behöver dess funktioner (DWriteCore, MRT Core, fönster). Lägg till MSIX-paketering när du behöver paketidentitet eller vill modernisera installationsprogrammet.

WinRT-API:er

Windows Runtime (WinRT) API:er exponerar Windows plattformsfunktioner som appmeddelanden, delningskontraktet, Bluetooth med mera. Du kan anropa dessa API:er direkt från WPF-, Windows Forms- och C++ Win32-appar.

Windows App SDK

Windows App SDK levererar moderna Windows utvecklingsfunktioner som ett NuGet-paket som du lägger till i ditt befintliga projekt. Du behöver inte ändra ditt gränssnittsramverk.

MSIX-paketering och paketidentitet

MSIX-paketering ersätter ditt befintliga installationsprogram och ger din apppaketidentitet. Vissa Windows funktioner – inklusive bakgrundsaktiviteter, startuppgifter, filassociationer och Windows AI Foundry – kräver paketidentitet vid körning. Om du vill behålla ditt befintliga installationsprogram kan du fortfarande bevilja paketidentitet utan fullständig MSIX-paketering – en metod som ibland kallas paketering med extern plats eller ett glest paket.

Ramverksspecifika startpunkter

I följande tabell visas den rekommenderade startpunkten för varje skrivbordsappsramverk.

Ditt ramverk Rekommenderad utgångspunkt
WPF Använda Windows App SDK i ett befintligt projekt
Windows-formulär Använda Windows App SDK i ett befintligt projekt
C++ Win32 Använda Windows App SDK i ett befintligt projekt
C++/WinRT WinRT-API:er för skrivbordsappar

Funktionskatalog för modernisering av skrivbordsappar

I följande tabeller visas vanliga moderniseringsfunktioner och om var och en kräver Windows App SDK eller paketidentitet.

AI

Feature Windows App SDK krävs? Krävs paketidentitet?
Windows AI Foundry No Yes

Användargränssnitt och text

Feature Windows App SDK krävs? Krävs paketidentitet?
WinUI 3-komponenter i en skrivbordsapp Yes No
Rendera text med DWriteCore Yes No
Tillämpa Mica eller Acrylic på Win32-appar No No
Använd rundade hörn No No
Använd Windows-teman No No

Appens livscykel

Feature Windows App SDK krävs? Krävs paketidentitet?
Bakgrundsaktiviteter (Windows App SDK) Yes Yes
Startuppgifter No Yes

Windows-integration

Feature Windows App SDK krävs? Krävs paketidentitet?
Delningsbladsintegrering No No
API för personer mellan enheter No No
Filkopplingar No Yes
Windows widgetar No Yes

Security

Feature Windows App SDK krävs? Krävs paketidentitet?
skåp för autentiseringsuppgifter No No
OAuth 2.0 No No
Biometri med fingeravtryck No No
Smartkort No No
Kryptografi No No

Resources

Feature Windows App SDK krävs? Krävs paketidentitet?
MRT Core-resurshantering Yes No

En fullständig lista över plattformsfunktioner som är tillgängliga i skrivbordsappar finns i Windows översikt över appplattformen.

AI-assisterad modernisering

GitHub Copilot-moderniseringsagenten kan analysera din skrivbordslösning och generera pull-begäranden som lägger till moderna Windows funktioner eller uppgraderar din app till en nyare .NET version. Mer information finns i AI-assisterad modernisering.