Rendern von benutzerdefinierten Steuerelementen in der XAML-Vorschau

Benutzerdefinierte Steuerelemente funktionieren manchmal im XAML-Vorschauprogramm nicht wie erwartet. Verwenden Sie die Anleitung in diesem Artikel, um die Einschränkungen der Vorschau ihrer benutzerdefinierten Steuerelemente zu verstehen.

Warnung

Die XAML-Vorschauversion wurde in Visual Studio 2019, Version 16.8 und Visual Studio für Mac Version 8.8, veraltet und durch die XAML-Hot Reload-Funktion in Visual Studio 2019 Version 16.9 und Visual Studio für Mac Version 8.9 ersetzt. Weitere Informationen zu XAML-Hot Reload finden Sie in der Dokumentation.

Basic Preview-Modus

Auch wenn Sie Ihr Projekt noch nicht erstellt haben, rendert die XAML-Vorschau Ihre Seiten. Bis zum Erstellen zeigt jedes Steuerelement, das auf CodeBehind basiert, seinen Basistyp Xamarin.Forms an. Wenn Ihr Projekt erstellt wird, versucht die XAML-Vorschau, benutzerdefinierte Steuerelemente mit aktiviertem Rendering zur Entwurfszeit anzuzeigen. Wenn beim Rendern ein Fehler auftritt, wird der Basistyp Xamarin.Forms angezeigt.

Aktivieren des Entwurfszeitrenderings für benutzerdefinierte Steuerelemente

Wenn Sie eigene benutzerdefinierte Steuerelemente erstellen oder Steuerelemente aus einer Drittanbieterbibliothek verwenden, zeigt die Vorschau diese möglicherweise falsch an. Benutzerdefinierte Steuerelemente müssen sich für das Entwurfszeitrendering entscheiden, damit es in der Vorschau angezeigt wird, unabhängig davon, ob Sie das Steuerelement geschrieben oder aus einer Bibliothek importiert haben. Fügen Sie mit steuerelementen, die Sie erstellt haben, der [DesignTimeVisible(true)] -Klasse Ihres Steuerelements hinzu, um es in der Vorschau anzuzeigen:

namespace MyProject
{
  [DesignTimeVisible(true)]
  public class MyControl : BaseControl
  {
    // Your control's code here
  }

}

Verwenden Sie die ImageCirclePlugin-Basisklasse von James Montemagno als Beispiel.

SkiaSharp-Steuerelemente

Derzeit werden SkiaSharp-Steuerelemente nur unterstützt, wenn Sie eine Vorschau unter iOS verwenden. Sie werden in der Android-Vorschau nicht gerendert.

Problembehandlung

Überprüfen Der Xamarin.Forms Version

Stellen Sie sicher, dass mindestens Xamarin.Forms 3.6 installiert ist. Sie können Ihre Xamarin.Forms Version auf NuGet aktualisieren.

Auch mit [DesignTimeVisible(true)]wird mein benutzerdefiniertes Steuerelement nicht ordnungsgemäß gerendert.

Benutzerdefinierte Steuerelemente, die stark auf CodeBehind- oder Back-End-Daten basieren, funktionieren in der XAML-Vorschau nicht immer. Sie können Folgendes ausprobieren:

In der XAML-Vorschau wird der Fehler "Benutzerdefinierte Steuerelemente werden nicht ordnungsgemäß gerendert" angezeigt.

Versuchen Sie, Ihr Projekt zu bereinigen und neu zu erstellen oder die XAML-Datei zu schließen und erneut zu öffnen.