2016-10-23 6 views
1

Ich erstelle gerade meine eigene App mit Xamarin-Formularen in VS 2015. Jetzt zu Testzwecken war es am einfachsten, die Universal Windows App zu verwenden, aber ich bleibe mit einem einzigen Punkt stecken; Die ausgewählte Registerkarte wird nicht hervorgehoben.Ausgewählte Registerkarte in Xamarin Forms hervorheben UWP

Die Markierung ist nicht genau das, was ich will, mehr zu veranschaulichen:

Actual behavior

Expected behavior

Was den Code ich verwende, sind die wichtigsten App lädt ein new NavigationPage(new Layout.SchedulePage()) wo der Zeitplan Seite ist der eigentliche Schuldige und erweitert Xamarin.Forms.TabbedPage. Die SelectedPage wird korrekt festgelegt (lädt die richtige Inhaltsseite), aber die Registerkarte wird nicht hervorgehoben.

Nach umfangreichen Recherchen, ich habe folgende ausgeschlossen:

  • Ich habe in der Extended TabbedPage von XLabs aussehen, aber es scheint nicht, etwas zu haben, mit dem ausgewählten Registerkarte Stil.
  • Ich habe in einem benutzerdefinierten Renderer für das tabbedpage sah, aber das darf nicht so weit ein einziges Register zu modifizieren, wie ich, nur Vorlage, um die gesammelten Daten

So gesehen habe, löst meine Frage zu sein:

Wie ändere ich den Stil der ausgewählten Registerkarte Xamarin Formen, oder hat UWP diese Fähigkeit nicht?

Ich kann bei Bedarf zusätzlichen Code zur Verfügung stellen.

Antwort

4

Was Sie für UWP tun müssen, ist das Überschreiben des standardmäßigen Pivot-Header-Stils. Sie können es von hier kopieren/einfügen: https://msdn.microsoft.com/en-us/library/windows/apps/mt299142.aspx

Im Inneren werden Sie mehrere VisualStates bemerken, suchen Sie nach dem "Ausgewählten". In diesem Fall wird der 'Hintergrund' zu 'SystemControlHighlightTransparentBrush' manipuliert, was bedeutet, dass er auf Transparent gesetzt ist. Fügen Sie einfach den gewünschten Farbpinsel ein, um dies anzupassen.

Sie kann ich das gleiche in einer App sehe ich hier erstellt haben: https://github.com/AppCreativity/Kliva/blob/505f944411ca40e1622186b323c60297eeb2788a/src/Kliva/XAMLResources/Styles.xaml#L1211

+0

ich einen Blick darauf werfen werde, wenn ich zu Hause bin, aber es scheint perfekt zu sein, danke! –

+0

yup, ich habe es gelöst. Eine Alternative zum Ändern des Pinsels wäre ein visualstate.setter den Hintergrund als Ziel. –

Verwandte Themen