Xamarin.Forms 2.5.0 und Kontext

8

Heute habe ich Xamarin.Forms 2.5.0 und sah, dass ich folgende Warnungen bekomme:

  • Aus dem Android-Teilprojekt:
      

    Warnung CS0618 'Forms.Context' ist veraltet: 'Der Kontext ist ab Version 2.5 veraltet. Bitte verwenden Sie stattdessen einen lokalen Kontext. "

Wie kann ich den lokalen Kontext anstelle von Forms.Context erhalten? Ist der Android-Kontext gemeint?

  • Vom benutzerdefinierten Renderer:
      

    Warnung CS0618 'ButtonRenderer.ButtonRenderer ()' ist veraltet: 'Dieser Konstruktor ist ab Version 2.5 veraltet. Bitte verwenden Sie stattdessen ButtonRenderer (Kontext). '

In meinem ButtonRenderer habe ich nur die Methode OnElementChanged() , also was soll ich hier ändern? Fügen Sie einfach einen ButtonRenderer(Context) -Konstruktor hinzu? Ich bekomme immer noch die Warnung, wenn ich dies in meiner Plattform-Renderer-Klasse mache. Hat jemand ein Beispiel? Die offizielle Dokumentation erwähnt dies nicht und Google bringt es auch nicht mit einige nützliche Ergebnisse, außer dem Quellcode von ButtonRenderer Diese Änderung betrifft auch viele andere Renderer-Klassen.

Hat jemand andere Änderungen erlebt, die Plugins usw. abbremsen?

PS: Ich habe auch nicht herausgefunden, wann Device.Windows veraltet war. Jetzt habe ich es durch Device.UWP ersetzt.

    
testing 21.11.2017, 15:42
quelle

3 Antworten

8

Ich hatte das gleiche Problem für ein SearchBarRenderer und alles, was ich tun musste, um es zu beheben, war, einen Konstruktor wie folgt hinzuzufügen:

%Vor%

Ich hoffe, das beantwortet den zweiten Teil Ihrer Frage.

    
cvanbeek 21.11.2017, 15:53
quelle
8

verwende Android.App.Application.Context

Es gibt eine Diskussion dieses Themas auf den Foren

    
Jason 21.11.2017 15:46
quelle
6

Hier sind zwei Fragen:

  1. Wie aktualisiere ich benutzerdefinierte Renderer, um einen lokalen Kontext zu verwenden?
  2. Wie kann ich jetzt auf den aktuellen Kontext zugreifen, in dem Xamarin.Forms.Forms.Context veraltet ist?

So aktualisieren Sie benutzerdefinierte Renderer

Fügen Sie den überladenen Konstruktor jedem benutzerdefinierten Renderer hinzu

Hier ist ein Beispiel mit ButtonRenderer

%Vor%

Zugriff auf den aktuellen Kontext

Installieren Sie @Motz CurrentActivityPlugin .

Jetzt können Sie CrossCurrentActivity.Current.Activity aufrufen, wenn Sie auf die aktuelle Aktivität zugreifen müssen.

Hier ist ein Beispiel, wie Sie die App-Einstellungen in Xamarin.Forms öffnen können.

%Vor%     
Brandon Minnick 25.11.2017 02:03
quelle