Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
Dieses Projekt ist ein experimentelles Release. Wir hoffen, dass Sie Experimentelle Mobile Blazor Bindings ausprobieren und Feedback unter https://github.com/xamarin/MobileBlazorBindingsgeben.
Das vollständige Beispiel der Wetter-App finden Sie hier. Das Beispiel verwendet eine Xamarin.Forms-Komponente von Drittanbietern, die Grid
Komponente, bidirektionale Bindungen, Komponenteninitialisierungslogik, Abhängigkeitsinjektion, CSS-Stile und viele weitere Features.
Die fertige App sieht wie folgt aus:
Anstatt die App von Grund auf neu zu schreiben, werfen wir einen Blick auf die wichtigsten Komponenten in dieser Beispielanwendung.
Grid
Komponente. Die gesamte Benutzeroberfläche der Wetter-App ist in der Komponente enthalten, wobei ihrWeatherApp
Standard Layout von einerGrid
Komponente festgelegt wird.Die
Grid
Komponente verfügt über zwei Standard Abschnitte zum Einrichten ihrer Struktur: die Zeilen-/Spaltendefinitionen und die Rasterzellen.<Grid RowDefinitions="..." ColumnDefinitions="..."> @* GridCell components *@ </Grid>
Die
RowDefinition
Eigenschaften undColumnDefinition
richten die Struktur des Rasters ein:RowDefinitions="Auto, *, Auto, Auto, Auto, Auto, Auto"
Die Eigenschaften sind optional, und wenn sie weggelassen werden, implizieren Sie eine einzelne Zeile/Spalte. Jeder durch Trennzeichen getrennte Wert gibt die relativen, absoluten oder automatischen Dimensionen dieser Zeile/Spalte an.
Weitere Informationen zu den Eigenschaften finden Sie hier:
Der Inhalt des Rasters enthält mehrere
<GridCell>
Komponenten, die eineRow
- ,Column
-RowSpan
undColumnSpan
-Eigenschaft aufweisen können und ein einzelnes Element enthalten, das den Zellinhalt darstellt. Alle diese Eigenschaften sind optional. DiesGridCell
ist z. B. für Zeilenindex 6, Spaltenindex 0 und keine Zeilen-/Spaltenspanne:<GridCell Row="6"> <StackLayout Orientation="StackOrientation.Horizontal" HorizontalOptions="LayoutOptions.Center"> <Label Text="I'm feeling too hot/cold!" VerticalOptions="LayoutOptions.Center"/> <Stepper @bind-Value="Temperature" Minimum="0" Maximum="120" Increment="3" Opacity="0.6" VerticalOptions="LayoutOptions.Center" /> </StackLayout> </GridCell>
Eine beliebte Drittanbieterkomponente, die häufig in Xamarin.Forms-Apps verwendet wird, ist die
PancakeView
Komponente. Die Komponente wurde umschlossen, damit sie mit der Blazor-Syntax in einem separaten Klassenbibliotheksprojekt verwendet werden kann: Microsoft.MobileBlazorBindings.PancakeView. Weitere Informationen zum Umschließen von Xamarin.Forms-Komponenten für die Verwendung mit Blazor-Syntax finden Sie unter Wrapping Xamarin.Forms components for use with Blazor topic.Abhängigkeitsinjektion wird in der Wetter-App mit einem
WeatherService
Typ verwendet, der auf dem Host registriert und auf derWeatherApp.razor
Seite verwendet wird.- Weitere Informationen finden Sie im Thema Abhängigkeitsinjektion.
Die Komponenteninitialisierung ermöglicht das Ausführen von Initialisierungscode, wenn eine Komponente ausgeführt wird. Die Wetter-App verwendet dies, um die anfänglichen Wetterdaten zu laden, wenn die App beginnt, indem sie die
OnInitialized
-Methode überschreibt:protected override void OnInitialized() { CurrentWeather = WeatherService.GetWeatherReport(); Temperature = CurrentWeather.Temperature; }
Weitere Informationen, einschließlich der Asynchronitätsinitialisierung, finden Sie in der Dokumentation zu Blazor-Lebenszyklusmethoden.
CSS-Formatvorlagen werden verwendet, um allgemeine Eigenschaften nach Elementtyp oder CSS-Klassenname anzuwenden. Eine CSS-Datei ist als eingebettete Ressource im freigegebenen Projekt enthalten (dies ist die Standardeinstellung für CSS-Dateien). Weitere Informationen zur Verwendung von CSS in Mobilen Blazor-Bindungen finden Sie im Thema CSS-Stile.