Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Painel
titleReutilizando um Controle Customizado do Xamarin.Forms
  • Crie um arquivo correspondente ao controle na pasta de sua plataforma:


  • Altere os namesapces correspondentes e comente ou remova o assembly ExportRenderer:

    Bloco de código
    languagec#
    themeRDark
    titleExemplo
    using Android.Content;
    using Microsoft.Maui.Controls.Compatibility.Platform.Android;
    using Microsoft.Maui.Controls.Platform;
    
    //[assembly: ExportRenderer(typeof(RMSCustomEntry), typeof(RMSCustomEntryRenderer))]
    namespace RMLib.Android.Renderers
    {
        public class RMSCustomEntryRenderer : EntryRenderer
        {
            public RMSCustomEntryRenderer(Context context) : base(context)
            {
            }
    
            protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
            {
                base.OnElementChanged(e);
                Control?.SetBackgroundColor(global::Android.Graphics.Color.Transparent);
            }
        }
    }


  • Inclua o trecho de código a seguir no arquivo MauiProgram.cs (linha linhas 13-19): 

    Bloco de código
    languagec#
    themeRDark
    titleCódigo
    linenumberstrue
    using CommunityToolkit.Maui;
    using Microsoft.Maui.Controls.Compatibility.Hosting;
    using RMLib.Android.Renderers;
    using RMLib.Custom;
    
    namespace MinhaQualidade;
    public static class MauiProgram
    {
        public static MauiApp CreateMauiApp()
        {
            var builder = MauiApp.CreateBuilder();
            builder.UseMauiApp<App>()
            .UseMauiCompatibility()
            .ConfigureMauiHandlers(handlers =>
            {
    #if ANDROID
                handlers.AddCompatibilityRenderer(typeof(RMSCustomEntry), typeof(RMSCustomEntryRenderer));
    #endif
            })
            .ConfigureEffects(effects =>
            {
    
            })
            .ConfigureFonts(fonts =>
            {
                fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
    
                fonts.AddFont("NunitoSans-Bold.ttf", "NunitoSansBold");
                fonts.AddFont("NunitoSans-ExtraLight.ttf", "NunitoSansExtraLight");
                fonts.AddFont("NunitoSans-Regular.ttf", "NunitoSansRegular");
                fonts.AddFont("Nunito-SemiBold.ttf", "NunitoSemiBold");
            })
            .UseMauiCommunityToolkit();
            return builder.Build();
        }
    }