Erstellen Ihrer ersten . NET MAUI-App für Windows
Machen Sie sich mit .NET MAUI vertraut, indem Sie Ihre erste plattformübergreifende App unter Windows erstellen.
Einführung
In diesem Tutorial erfahren Sie, wie Sie Ihre erste .NET MAUI-App für Windows in Visual Studio 2022 (17.3 oder höher) erstellen und ausführen. Wir fügen einige MVVM-Toolkit-Features aus dem .NET Community Toolkit hinzu, um den Entwurf des Standardprojekts zu verbessern.
Einrichten der Umgebung
Wenn Sie Ihre Umgebung noch nicht für die .NET MAUI-Entwicklung eingerichtet haben, führen Sie die Schritte unter Erste Schritte mit .NET MAUI unter Windows aus.
Erstellen des .NET MAUI-Projekts
- Starten Sie Visual Studio, und klicken Sie im Startfenster auf Neues Projekt erstellen , um ein neues Projekt zu erstellen:
- Wählen Sie im Fenster Neues Projekt erstellen in der Dropdownliste Alle Projekttypen die Option MAUI aus, wählen Sie die Vorlage .NET MAUI-App aus, und klicken Sie auf die Schaltfläche Weiter :
- Geben Sie im Fenster Neues Projekt konfigurieren dem Projekt einen Namen, wählen Sie einen Speicherort dafür aus, und klicken Sie auf die Schaltfläche Weiter :
- Klicken Sie im Fenster Zusätzliche Informationen auf die Schaltfläche Erstellen :
- Warten Sie, bis das Projekt erstellt wurde und die Abhängigkeiten wiederhergestellt werden:
Drücken Sie auf der Visual Studio-Symbolleiste die Schaltfläche Windows-Computer, um die App zu erstellen und auszuführen.
Drücken Sie in der ausgeführten App mehrmals die Schaltfläche Klicken Sie mich , und stellen Sie fest, dass die Anzahl der Schaltflächenklicks erhöht wird:
Sie haben gerade Ihre erste .NET MAUI-App unter Windows ausgeführt. Im nächsten Abschnitt erfahren Sie, wie Sie Ihrer App Datenbindungs- und Messagingfeatures aus dem MVVM-Toolkit hinzufügen.
Problembehandlung
Wenn Ihre App nicht kompiliert werden kann, lesen Sie Problembehandlung bekannter Probleme, die möglicherweise eine Lösung für Ihr Problem haben.
Hinzufügen des MVVM-Toolkits
Nachdem Nun Ihre erste .NET MAUI-App unter Windows ausgeführt wird, fügen sie dem Projekt einige MVVM-Toolkit-Features hinzu, um den Entwurf der App zu verbessern.
Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie im Kontextmenü NuGet-Pakete verwalten... aus.
Wählen Sie im Fenster NuGet-Paket-Manager die Registerkarte Durchsuchen aus, und suchen Sie nach CommunityToolkit.MVVM:
Fügen Sie dem Projekt die neueste stabile Version des CommunityToolkit.MVVM-Pakets (Version 8.0.0 oder höher) hinzu, indem Sie auf Installieren klicken.
Schließen Sie das Fenster NuGet-Paket-Manager , nachdem die Installation des neuen Pakets abgeschlossen ist.
Klicken Sie erneut mit der rechten Maustaste auf das Projekt, und wählen Sie Hinzufügen | Klasse aus dem Kontextmenü.
Benennen Sie im daraufhin angezeigten Fenster Neues Element hinzufügen die Klasse
MainViewModel
, und klicken Sie auf Hinzufügen:
Die
MainViewModel
-Klasse ist das Datenbindungsziel für denMainPage
. Aktualisieren Sie es, um von imCommunityToolkit.Mvvm.ComponentModel
Namespace zu erbenObservableObject
. Dies erfordert auch die Aktualisierung der Klasse, um undpartial
zu seinpublic
.Die
MainViewModel
-Klasse enthält den folgenden Code. DerCountChangedMessage
Datensatz definiert eine Nachricht, die jedes Mal gesendet wird, wenn auf die Schaltfläche Click me geklickt wird und die Ansicht über die Änderung benachrichtigt wird. Die Attribute ObservableProperty und RelayCommand , die denmessage
Membern undIncrementCounter
hinzugefügt werden, sind Quellgeneratoren, die vom MVVM-Toolkit bereitgestellt werden, um den MVVM-Boilerplate-Code fürINotifyPropertyChanged
undIRelayCommand
Implementierungen zu erstellen. DieIncrementCounter
-Implementierung der -Methode enthält die Logik ausOnCounterClicked
"MainPage.xaml.cs" mit einer Änderung zum Senden einer Nachricht mit der neuen Leistungsindikatornachricht. Wir werden diesen Codebehind-Code später entfernen.
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Mvvm.Messaging;
namespace MauiOnWindows
{
public sealed record CountChangedMessage(string Text);
public partial class MainViewModel : ObservableObject
{
[ObservableProperty]
private string message = "Click me";
private int count;
[RelayCommand]
private void IncrementCounter()
{
count++;
if (count == 1)
message = $"Clicked {count} time";
else
message = $"Clicked {count} times";
WeakReferenceMessenger.Default.Send(new CountChangedMessage(message));
}
}
}
Hinweis
Sie müssen den Namespace im vorherigen Code aktualisieren, um dem Namespace in Ihrem Projekt zu entsprechen.
Öffnen Sie die Datei MainPage.xaml.cs zum Bearbeiten, und entfernen Sie die
OnCounterClicked
Methode und dascount
Feld.Fügen Sie dem
MainPage
Konstruktor nach dem Aufruf von den folgenden Code hinzuInitializeComponenent()
. Dieser Code empfängt die von gesendeteIncrementCounter()
Nachricht in undMainViewModel
aktualisiert dieCounterBtn.Text
Eigenschaft mit der neuen Nachricht und kündigt den neuen Text mit demSemanticScreenReader
an:
WeakReferenceMessenger.Default.Register<CountChangedMessage>(this, (r, m) =>
{
CounterBtn.Text = m.Text;
SemanticScreenReader.Announce(m.Text);
});
- Außerdem müssen Sie der -Klasse eine
using
Anweisung hinzufügen:
using CommunityToolkit.Mvvm.Messaging;
- Fügen
MainPage.xaml
Sie in eine Namespacedeklaration hinzu,ContentPage
damit dieMainViewModel
Klasse gefunden werden kann:
xmlns:local="clr-namespace:MauiOnWindows"
- Fügen Sie als für
BindingContext
folgendesContentPage
hinzuMainViewModel
:
<ContentPage.BindingContext>
<local:MainViewModel/>
</ContentPage.BindingContext>
- Aktualisieren Sie ein
Button
MainPage
, um einCommand
zu verwenden, anstatt dasClicked
Ereignis zu behandeln. Der Befehl bindet an dieIncrementCounterCommand
öffentliche Eigenschaft, die von den Quellgeneratoren des MVVM-Toolkits generiert wird:
<Button
x:Name="CounterBtn"
Text="Click me"
SemanticProperties.Hint="Counts the number of times you click"
Command="{Binding Path=IncrementCounterCommand}"
HorizontalOptions="Center" />
- Führen Sie das Projekt erneut aus, und stellen Sie fest, dass der Zähler weiterhin erhöht wird, wenn Sie auf die Schaltfläche klicken:
- Versuchen Sie, während das Projekt ausgeführt wird, die Meldung "Hello, World!" in der ersten Bezeichnung zu aktualisieren, um "Hello, Windows!" in MainPage.xaml zu lesen. Speichern Sie die Datei, und beachten Sie, dass XAML-Hot Reload die Benutzeroberfläche aktualisiert, während die App noch ausgeführt wird:
Nächste Schritte
Erfahren Sie, wie Sie eine App erstellen, die Microsoft Graph-Daten für einen Benutzer anzeigt, indem Sie das Graph SDK in einem .NET MAUI für Windows-Tutorial nutzen.
Zugehörige Themen
Verwenden des Microsoft Graph-API mit .NET MAUI unter Windows
Windows developer
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für