Vykreslení vlastních ovládacích prvků v náhledu XAML

Vlastní ovládací prvky někdy v náhledu XAML nefungují podle očekávání. Pokud chcete porozumět omezením při zobrazení náhledu vlastních ovládacích prvků, použijte pokyny v tomto článku.

Upozornění

Náhled XAML je ve verzi Visual Studio 2019 verze 16.8 a Visual Studio pro Mac verze 8.8 zastaralý a nahrazen funkcí Opětovné načítání XAML za provozu ve verzích Visual Studio 2019 verze 16.9 a Visual Studio pro Mac verze 8.9. Další informace o Opětovné načítání XAML za provozu najdete v dokumentaci.

Základní režim náhledu

I v případě, že jste projekt ještě nevytyčí, vykreslí náhled XAML vaše stránky. Dokud nevytváříte, bude každý ovládací prvek, který spoléhá na kód na pozadí, zobrazovat svůj základní Xamarin.Forms typ. Po sestavování projektu se náhled XAML pokusí zobrazit vlastní ovládací prvky s povoleným vykreslováním doby návrhu. Pokud se vykreslení nezdaří, zobrazí základní Xamarin.Forms typ.

Povolení vykreslování doby návrhu pro vlastní ovládací prvky

Pokud si sami použijete vlastní ovládací prvky nebo použijete ovládací prvky z knihovny třetí strany, může je náhled zobrazit nesprávně. Vlastní ovládací prvky se musí rozhodnout pro vykreslení doby návrhu, aby se v náhledu objevilo bez ohledu na to, jestli jste ovládací prvek napsali nebo importujete z knihovny. Pomocí ovládacích prvků, které jste vytvořili, přidejte do třídy ovládacího prvku objekt , který [DesignTimeVisible(true)] se zobrazí v náhledu:

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

}

Jako příklad použijte základní třídu ImageCirclePlugin od Jamese Montemagno.

Ovládací prvky SkiaSharp

Ovládací prvky SkiaSharp se v současné době podporují jenom při zobrazení náhledu v iOSu. Nebudou se vykreslovat v Androidu Preview.

Řešení potíží

Kontrola Xamarin.Forms verze

Ujistěte se, že máte Xamarin.Forms nainstalovanou minimálně 3.6. Verzi můžete aktualizovat Xamarin.Forms na NuGet.

I s [DesignTimeVisible(true)] , můj vlastní ovládací prvek se nevykreslová správně.

Vlastní ovládací prvky, které do značné míry spoléhají na data kódu nebo back-endu, ne vždy fungují v náhledu XAML. Můžete vyzkoušet:

V náhledu XAML se zobrazuje chyba Vlastní ovládací prvky se nekreslí správně

Zkuste projekt vyčistit a znovu sestavit nebo zavřít a znovu otevřít soubor XAML.