Android.Widget.AutoCompleteTextView
è un View
da Android.
Soluzione per PCL:
Non è possibile utilizzare la piattaforma specifica View's
sulle forme Xamarin (PCL) ContentPage
.
Per utilizzare la piattaforma specifica View
è necessario utilizzare uno custom render. C'è un blog post da @JamesMontemagno che mostra come fare quello che ti serve.
Questo codice è esempio di bozza per favore usarlo come tale.
1 - Creare il proprio controllo Xamarin.Forms personalizzati che saranno renderered in Android come AutoCompleteTextView
:
public class AutoCompleteView : View
{
// Place need properties here.
}
2 - Nel progetto Android aggiungere un renderer per AutoCompleteView
:
[assembly: ExportRenderer(typeof(AutoCompleteView), typeof(AutoCompleteViewRenderer))]
namespace App.Droid
{
public class AutoCompleteViewRenderer : ViewRenderer<AutoCompleteView, AutoCompleteTextView>
{
// Initialize the AutoCompleteTextView
protected override void OnElementChanged (ElementChangedEventArgs<AutoComplete> e)
{
base.OnElementChanged (e);
if (e.OldElement != null || this.Element == null)
return;
var autoComplete = new AutoCompleteTextView(Forms.Context);
SetNativeControl (autoComplete);
}
// Use the control here.
protected override void OnElementPropertyChanged (object sender, PropertyChangedEventArgs e) {
base.OnElementPropertyChanged (sender, e);
if (this.Element == null || this.Control == null)
return;
// variable this.Control is the AutoCompleteTextView, so you an manipulate it.
}
}
}
Soluzione per progetto condiviso:
Quando si utilizza Progetto condiviso v'è la possibilità di usare Native Embedding, come:
...
var textView = new TextView (Forms.Context) { Text = originalText };
stackLayout.Children.Add (textView);
contentView.Content = textView.ToView();
...
, la prego di dare un passo per farlo o aggiungere del codice ..thanks –
grazie jzeferion si ..se sono familare con l'abitudine render, potresti aggiungere un codice per la tua risposta, contiene i passaggi .. –
Ho aggiunto un semplice esempio per spiegare come funziona il rendering. Per maggiori dettagli leggi il post completo del blog. – jzeferino