O .NET MAUI Entry é um controle de entrada de texto, que implementa a interface IEntry.
No iOS, o EntryHandler mapeia o Entry para o controle nativo UITextField.
No Android, o Entry é mapeado para um AppCompatEditText, e no Windows o Entry é mapeado para um TextBox.
O mapeador de propriedades do Entry, na classe EntryHandler, mapeia as propriedades de controle multiplataforma para a API de visualização nativa.
Isso garante que, quando uma propriedade for definida em um Entry, a exibição nativa seja atualizada conforme necessário.
Exemplo
void ModifyEntry() { Microsoft.Maui.Handlers.EntryHandler.Mapper.AppendToMapping("MyCustomization", (handler, view) => { #if ANDROID handler.PlatformView.SetBackgroundColor(Colors.Transparent.ToPlatform()); #elif IOS handler.PlatformView.BorderStyle = UIKit.UITextBorderStyle.None; #elif WINDOWS handler.PlatformView.FontWeight = Microsoft.UI.Text.FontWeights.Thin; #endif }); }
Reutilizando 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:
Exemplousing 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 (linhas 13-19):
Códigousing 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(); } }
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas