Introduzione a WinUI 2

WinUI 2.8 è la versione stabile più recente di WinUI che può essere usata per la compilazione di applicazioni UWP di produzione (e applicazioni desktop che usano XAML Islands).

La libreria è disponibile come pacchetto NuGet che può essere aggiunto a un progetto di Visual Studio nuovo o esistente.

Nota

Per maggiori informazioni sulla creazione di app desktop di Windows con la versione più recente di WinUI 3, vedere WinUI 3.

Scaricare e installare WinUI

  1. Scaricare Visual Studio 2022 e accertarsi di scegliere il carico di lavoro Sviluppo di app per la piattaforma UWP (Universal Windows Platform) nel programma di installazione di Visual Studio.

  2. Apri un progetto esistente oppure crea un nuovo progetto usando il modello App vuota in Visual C# -> Windows -> Universale o il modello appropriato per la proiezione di linguaggio.

    Importante

    Per usare WinUI 2.8, è necessario impostare TargetPlatformVersion >= 10.0.18362.0 e TargetPlatformMinVersion >= 10.0.17763.0 nelle proprietà del progetto.

  3. Nel pannello Esplora soluzioni fai clic con il pulsante destro del mouse sul progetto e scegli Gestisci pacchetti NuGet.

    Screenshot del pannello Esplora soluzioni con il progetto su cui è stato fatto clic con il pulsante destro del mouse e l'opzione Gestisci pacchetti NuGet evidenziata.
    Pannello Esplora soluzioni con il progetto su cui è stato fatto clic con il pulsante destro del mouse e l'opzione Gestisci pacchetti NuGet evidenziata.

  4. Nella Gestione pacchetti NuGet, selezionare la scheda Sfoglia e cerca Microsoft.UI.Xaml o WinUI. Selezionare i pacchetti NuGet di WinUI da usare (il pacchetto Microsoft.UI.Xaml contiene controlli e funzionalità Fluent adatti a tutte le app). Fare clic su Installa.

    Selezionare la casella di controllo "Includi versione preliminare" per visualizzare le versioni preliminari più recenti che includono nuove funzionalità sperimentali.

    Screenshot della finestra di dialogo Gestione pacchetti NuGet che mostra la scheda Sfoglia con winui nel campo di ricerca e Includi versione non definitiva selezionata.
    Finestra di dialogo Gestione pacchetti NuGet che mostra la scheda Sfoglia con winui nel campo di ricerca e Includi versione non definitiva selezionata.

  5. Aggiungere le risorse del tema di WinUI al file di App.xaml.

    Esistono due modi per eseguire questa operazione, a seconda della disponibilità di altre risorse dell'applicazione.

    a. Se non sono necessarie altre risorse dell'applicazione, aggiungere l'elemento risorse WinUI <XamlControlsResources come illustrato nell'esempio seguente:

    <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. Se si dispone di altre risorse, è consigliabile aggiungerle a XamlControlsResources.MergedDictionaries. Funziona con il sistema di risorse della piattaforma per consentire le sostituzioni delle risorse XamlControlsResources.

    <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>
    
  6. Aggiungere un riferimento al pacchetto WinUI alle pagine XAML e alle pagine code-behind.

    • Nella pagina XAML aggiungi un riferimento nella parte superiore della pagina

      xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
      
    • Nel codice (se vuoi usare i nomi dei tipi senza qualificarli), puoi aggiungere una direttiva using.

      using MUXC = Microsoft.UI.Xaml.Controls;
      

Passaggi aggiuntivi per un progetto C++/WinRT

Quando aggiungi un pacchetto NuGet a un progetto C++/WinRT, gli strumenti generano un set di intestazioni di proiezione nella cartella \Generated Files\winrt del progetto. Per inserire i file delle intestazioni nel progetto, in modo che i riferimenti a questi nuovi tipi vengano risolti, puoi passare al file di intestazione precompilata (che in genere è pch.h) e includerli. Di seguito è riportato un esempio che include i file di intestazione generati per il pacchetto Microsoft.UI.Xaml.

// 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>
...

Per una procedura dettagliata completa relativa all'aggiunta del supporto semplice per la libreria dell'interfaccia utente di Windows a un C++progetto/WinRT, vedi Semplice esempio di WinUI in C++/WinRT.

Contributi a WinUI

Nel repository microsoft-ui-xaml su GitHub saremo lieti di ricevere report di bug, richieste di funzionalità e contributi di codice da parte della community.

Altre risorse

Se non hai familiarità con la piattaforma UWP, ti consigliamo di visitare le pagine Introduzione allo sviluppo per la piattaforma UWP nel portale per sviluppatori.