2016-11-14 2 views
0

Ich versuche, die Antwort in dieser so questionMit Binding.IndexerName und Binding.ProvideValue in Xamarin Forms

Das Problem ist, dass in Xamarin Formen 2 Zutaten nicht existieren zu implementieren (oder ich habe festgestellt, sie noch nicht):

  • Binding.IndexerName
  • Binding.ProvideValue()

ich weiß nicht, warum sie nicht existieren. Vielleicht hat niemand sie implementiert, vielleicht gibt es einen technischen Grund, warum sie nicht implementiert werden können.

Kann ich immer noch die in Xamarin Formen bekommen? Vielleicht auf andere Weise?

Antwort

0

Beachten Sie, dass diese Antwort wahrscheinlich nicht mit Xamarin.Forms oder zumindest nicht mit XamlC on funktioniert.

Wenn Sie das funktionieren möchten, müssen Ihre MarkupExtensions IMarkupExtension<BindingBase> anstelle von IMarkupExtension implementieren.

ProvideValue() nicht in der Binding Klasse definiert, aber in BindingExtension, aber Sie werden wahrscheinlich nichts gewinnen, indem ein BindingExtension Instanziieren und ProvideValue darauf die Bindung direkt Aufruf gegen zurückkehren.

Die IndexerName bezieht sich auf das IndexerName Attribut der Translator Klasse. Da Sie es nicht verwenden, ist der Standardwert "Objekt", und Sie können diesen fest codierten Wert verwenden.

+0

Warum gehen Sie davon aus, dass es nicht mit Xamarin.Forms funktioniert? – Nathan

+0

Wahrscheinlich, weil ich den Xaml Parser und Compiler für Xamarin.Forms geschrieben habe ... –

+0

Ah, interessant. Danke, dass Sie mir übrigens geholfen haben! Meine Frage war nicht präzise. Welcher Teil von dir antwortet nicht mit xamarin.forms? – Nathan