Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

678
Views
Los controladores personalizados de .NET Maui no funcionan, ¿los documentos oficiales son incorrectos?

Estoy creando una aplicación usando .NET MAUI y estoy tratando de implementar controladores personalizados para instancias específicas de controles (por ejemplo, algunas entradas deben usar un controlador personalizado que creé). Para lograr esto, seguí los documentos oficiales de MS para esto. La siguiente es la configuración que me dicen que use:

1. Primero haga una subclase del control de entrada:

 using Microsoft.Maui.Controls; namespace MyMauiApp { public class MyEntry : Entry { } }

2. Luego personalizo EntryHandler para realizar la modificación deseada en las instancias de MyEntry:

 using Microsoft.Maui; using Microsoft.Maui.Controls; using Microsoft.Maui.Graphics; namespace MauiApp1 { public partial class App : Application { public App() { InitializeComponent(); Microsoft.Maui.Handlers.EntryHandler.EntryMapper[nameof(IView.Background)] = (handler, view) => { if (view is MyEntry) { #if __ANDROID__ handler.NativeView.SetBackgroundColor(Colors.Red.ToNative()); #elif __IOS__ handler.NativeView.BackgroundColor = Colors.Red.ToNative(); handler.NativeView.BorderStyle = UIKit.UITextBorderStyle.Line; #elif WINDOWS handler.NativeView.Background = Colors.Red.ToNative(); #endif } }; } } }

PROBLEMA: Esto me da el siguiente error:

Código de gravedad Descripción Error de estado de supresión de línea de archivo de proyecto CS0021 No se puede aplicar la indexación con [] a una expresión de tipo 'IPropertyMapper<IEntry, EntryHandler>' MyMauiApp (net6.0-android), MyMauiApp (net6.0-ios), MyMauiApp (net6 .0-windows10.0.19041) C:\Users\xxxxxx\source\repos\MyMauiApp\MyMauiApp\App.xaml.cs 24 Activo

Como dije, seguí los documentos por completo, pero aún así este error. He leído que otras personas también tienen este problema. ¿Alguien puede ayudar?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Parece que se han realizado algunos cambios importantes en esta área por medio de este pr aquí y aquí .

Por lo que parece, esto se ha hecho para que pueda personalizar en cascada en los mapeadores con AppendToMapping y PrependToMapping o modificar todo el mapeo junto con ModifyMapping .

Sin explicar todas las variaciones aquí, concentrémonos en su situación. Esto significa que, en lugar de esta línea, Microsoft.Maui.Handlers.EntryHandler.EntryMapper[nameof(IView.Background)] = (handler, view) =>

Ahora debe declarar esto como: Microsoft.Maui.Handlers.EntryHandler.EntryMapper.AppendToMapping(nameof(IView.Background), (handler, view) =>

Tenga en cuenta que ahora también debe agregar a ) en el paréntesis de cierre, haciendo el código completo:

 Microsoft.Maui.Handlers.EntryHandler.EntryMapper.AppendToMapping(nameof(IView.Background), (handler, view) => { if (view is MyEntry) { #if __ANDROID__ handler.NativeView.SetBackgroundColor(Colors.Red.ToNative()); #elif __IOS__ handler.NativeView.BackgroundColor = Colors.Red.ToNative(); handler.NativeView.BorderStyle = UIKit.UITextBorderStyle.Line; #elif WINDOWS handler.NativeView.Background = Colors.Red.ToNative(); #endif } });

Veré si puedo actualizar los documentos aquí y allá y espero que esto no se vuelva a romper;)

Editar: actualizó la página wiki para esto

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!