Condividi tramite


Esercitazione: Creare la prima applicazione Windows App SDK in Visual Studio con XAML e C#

In questa introduzione all'ambiente di sviluppo integrato (IDE) di Visual Studio si crea un'app "Hello World" in esecuzione in qualsiasi dispositivo Windows 10 o versione successiva. A tale scopo, si usa un modello di progetto Windows App SDK (WinUI 3), Extensible Application Markup Language (XAML) e il linguaggio di programmazione C#.

Nota

WinUI 3 è il componente nativo della piattaforma dell'interfaccia utente fornito con Windows App SDK. È completamente separato dagli SDK di Windows. Per altre informazioni, vedere WinUI 3.

Prerequisiti

  • Per completare questa esercitazione, è necessario Visual Studio 2026 o la versione più recente di Visual Studio 2022. Per una versione gratuita, vedere Download di Visual Studio.
  • Carichi di lavoro e componenti necessari per lo sviluppo con WinUI e Windows App SDK. Per verificare o installare un workload in Visual Studio, selezionare Strumenti >Ottieni strumenti e funzionalità. Per altre informazioni, vedere Modificare i carichi di lavoro o i singoli componenti.

Nella scheda Carichi di lavoro del programma di installazione di Visual Studio selezionare quanto segue:

Per lo sviluppo di app C# con Windows App SDK, selezionare Sviluppo di applicazioni WinUI.

Per lo sviluppo di app C# con Windows App SDK, selezionare Sviluppo di applicazioni WinUI.

Nota

In Visual Studio 17.10 - 17.12 questo carico di lavoro è denominato sviluppo di applicazioni Windows.

Per informazioni dettagliate, vedere Installare gli strumenti per Windows App SDK.

Creare un progetto

Creare prima di tutto un progetto WinUI 3. Il tipo di progetto include tutti i file di modello necessari, prima di aggiungere qualsiasi elemento.

  1. Aprire Visual Studio e nella finestra iniziale scegliere Crea un nuovo progetto.

  2. Nella schermata Crea un nuovo progetto immettere WinUI nella casella di ricerca, scegliere il modello C# per App vuota WinUI (in pacchetto) e quindi scegliere Avanti.

    Screenshot della finestra di dialogo

  3. Assegnare un nome al progetto, HelloWorlde scegliere Crea.

    Screenshot della finestra di dialogo

  1. Aprire Visual Studio e nella finestra iniziale scegliere Crea un nuovo progetto.

  2. Nella schermata Crea un nuovo progetto immettere winui nella casella di ricerca, scegliere il modello C# per App vuota, Pacchettizzato (WinUI 3 in Desktop) e quindi scegliere Avanti.

    Screenshot della finestra di dialogo

  3. Assegnare un nome al progetto, HelloWorlde scegliere Crea.

    Screenshot della finestra di dialogo

Nota

Se questo articolo è la prima volta che si usa Visual Studio per creare un'app Di Windows App SDK, potrebbe essere visualizzata una finestra di dialogo Impostazioni . Scegliere Modalità sviluppatoree quindi scegliere .

Screenshot che mostra la finestra di dialogo Impostazioni con l'opzione per abilitare la modalità sviluppatore.

Visual Studio installa automaticamente un altro pacchetto in modalità sviluppatore. Al termine dell'installazione del pacchetto, chiudere la finestra di dialogo Impostazioni .

Creare l'applicazione

È il momento di iniziare a sviluppare. Qui si aggiunge un controllo pulsante, si aggiunge un'azione al pulsante e quindi si esegue l'app Hello World per visualizzare l'aspetto.

Aggiungi un pulsante all'area di progettazione

  1. Nel Esplora Soluzioni, fare doppio clic su MainWindow.xaml per aprire l'editor di markup XAML.

    Screenshot della finestra Esplora soluzioni che mostra le proprietà, i riferimenti, gli asset e i file nel progetto HelloWorld, con il file MainWindow.xaml selezionato.

    L'editor XAML è la posizione in cui è possibile aggiungere o modificare markup. A differenza dei progetti UWP, WinUI 3 non ha una visualizzazione Progettazione.

    Screenshot che mostra MainWindow.xaml aperta nell'IDE di Visual Studio. Il riquadro Editor XAML mostra il markup XAML per la finestra.

  2. All'interno dell'elemento <Grid> iniziare a digitare <Button. IntelliSense offre un'opzione di pulsante. Premere TAB per accettare.

    Screenshot che mostra 'Button' evidenziato nell'editor XAML.

  1. Nel Esplora Soluzioni, fare doppio clic su MainWindow.xaml per aprire l'editor di markup XAML.

    Screenshot della finestra Esplora soluzioni in Visual Studio 2022 che mostra le proprietà, i riferimenti, gli asset e i file nel progetto HelloWorld, con il file MainWindow.xaml selezionato.

    L'editor XAML è la posizione in cui è possibile aggiungere o modificare markup. A differenza dei progetti UWP, WinUI 3 non ha una visualizzazione Progettazione.

    Screenshot che mostra MainWindow.xaml aperto nell'IDE di Visual Studio 2022. Il riquadro Editor XAML mostra il markup XAML per la finestra.

  2. Esaminare il Button controllo annidato all'interno dello StackPanel alla radice del Window.

    Screenshot che mostra 'Button' evidenziato nell'editor XAML.

Modificare l'etichetta sul pulsante

  1. Nell'editor XAML, modificare il valore del contenuto del pulsante dal valore corrente a "Hello World!".

    Screenshot che mostra il codice XAML per Button nell'editor XAML, con il valore della proprietà Content modificato in Hello World!

  2. Posizionare il cursore nel <Button> tag iniziale dell'elemento (dopo gli attributi esistenti, ad esempio Content) e iniziare a digitare Click. IntelliSense offre un nuovo gestore eventi denominato Button_Click. Lavorerai con quel codice nella sezione successiva.

    Screenshot che mostra il codice XAML per Button nell'editor XAML con l'evento click del pulsante evidenziato.

  1. Nell'editor XAML, modifica il valore del contenuto del pulsante dal valore corrente a "Hello World!".

    Screenshot che mostra il codice XAML per il Button nell'editor XAML in Visual Studio 2022, con il valore della proprietà Content modificato in Hello World!

  2. Si noti che il pulsante ha un gestore eventi Click chiamato myButton_Click specificato, anch'esso. Si lavora con questo nel passaggio successivo.

    Screenshot che mostra il codice XAML per button nell'editor XAML in Visual Studio 2022 con l'evento click del pulsante evidenziato.

Modificare il gestore eventi

Un gestore eventi sembra complicato, ma è solo un altro nome per il codice chiamato quando si verifica un evento. In questo caso, aggiunge un'azione attivata da Hello World! pulsante.

  1. In Esplora soluzioni , fare doppio clic su MainWindow.xaml.cs, la pagina di codice sottostante.

  2. Modificare il codice del gestore eventi nella finestra dell'editor C# visualizzata.

    Ecco dove le cose sono interessanti. Il gestore eventi predefinito è simile al seguente:

    Screenshot che mostra il codice C# per il gestore eventi Button_Click predefinito.

    Si modificherà, in modo che abbia un aspetto simile al seguente:

    Screenshot che mostra il codice C# per il nuovo gestore eventi myButton_Click asincrono.

    Ecco il codice da copiare e incollare:

    private async void Button_Click(object sender, RoutedEventArgs e)
    {
        var welcomeDialog = new ContentDialog()
        {
            Title = "Hello from HelloWorld",
            Content = "Welcome to your first Windows App SDK app.",
            CloseButtonText = "Ok",
            XamlRoot = ((FrameworkElement)sender).XamlRoot
        };
        await welcomeDialog.ShowAsync();
    }
    
  1. In Esplora soluzioni , fare doppio clic su MainWindow.xaml.cs, la pagina di codice sottostante.

  2. Modificare il codice del gestore eventi nella finestra dell'editor C# visualizzata.

    Ecco dove le cose sono interessanti. Il gestore eventi predefinito è simile al seguente:

    Screenshot che mostra il codice C# per il gestore eventi Button_Click predefinito in Visual Studio 2022.

    Si modificherà, in modo che abbia un aspetto simile al seguente:

    Screenshot che mostra il codice C# per il nuovo gestore eventi myButton_Click asincrono in Visual Studio 2022.

    Ecco il codice da copiare e incollare:

    private async void myButton_Click(object sender, RoutedEventArgs e)
    {
        var welcomeDialog = new ContentDialog()
        {
            Title = "Hello from HelloWorld",
            Content = "Welcome to your first Windows App SDK app.",
            CloseButtonText = "Ok",
            XamlRoot = myButton.XamlRoot
        };
        await welcomeDialog.ShowAsync();
    }
    

Cosa abbiamo appena fatto?

Il codice usa il controllo ContentDialog per visualizzare un messaggio di benvenuto in un controllo popup modale all'interno della finestra corrente. Per ulteriori informazioni sull'uso di Microsoft.UI.Xaml.Controls.ContentDialog, vedere la Classe ContentDialog.

Eseguire l'applicazione

È il momento di compilare, distribuire e avviare l'app Hello World Windows App SDK per vedere come appare. Ecco come.

  1. Usare il pulsante Avvia per avviare l'applicazione sulla macchina locale. Ha il testo HelloWorld (Package).

    Screenshot che mostra la casella a discesa aperta accanto al pulsante Riproduci con l'opzione 'HelloWorld (pacchetto)' selezionata.

    In alternativa, è possibile scegliere Debug>Avvia debug dalla barra dei menu oppure premere F5 per avviare l'app.

  2. Visualizzare l'app, che viene visualizzata subito dopo la scomparsa di una schermata iniziale. L'app dovrebbe essere simile a questa immagine:

    Screenshot che mostra l'applicazione 'Hello World' di Windows App SDK in esecuzione.

  3. Selezionare il pulsante Hello World.

    Il dispositivo Windows 10 o versione successiva visualizza un messaggio che indica "Benvenuto nella tua prima app di Windows App SDK" con il titolo "Hello from HelloWorld". Selezionare OK per chiudere il messaggio.

    Screenshot che mostra l'applicazione 'Hello World' in esecuzione con un popup denominato

  4. Per chiudere l'app, selezionare il pulsante Arresta debug sulla barra degli strumenti. In alternativa, scegliere Debug>Arresta debug dalla barra dei menu oppure premere MAIUSC+F5.

Congratulazioni per aver completato questa esercitazione. Ci auguriamo di aver appreso alcune nozioni di base su Windows App SDK, WinUI 3 e l'IDE di Visual Studio. Per altre informazioni, continuare con l'esercitazione seguente:

Queste risorse possono essere utili anche: