Laden...

[XF] Kontextuelles/Semantisches Styling

Erstellt von Renão vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.168 Views
R
Renão Themenstarter:in
9 Beiträge seit 2017
vor 5 Jahren
[XF] Kontextuelles/Semantisches Styling

Hallo zusammen,

ich sitze gerade daran ein paar Grundlagen für eine Xamarin.Forms-Anwendung zu entwickeln.

Nach jahrelanger Erfahrung mit Web-Techniken und Unity3D frage ich mich im Moment, ob es im XF-XAML-Kontext eine Möglichkeit gibt, das Styling meiner verwendeten Seiten und Komponenten etwas semantischer zu gestalten, als immer explizit den Komponenten einen Style zuzuweisen.

Was ich damit genau meine?

Hier ein kurzes Beispiel aus der Praxis:

Eine Applikation hat einen dunkel-gestalteten Anmeldebereich und einen hell-gestalteten Inhaltsbereich.

In beiden Bereichen werden bspw. ähnliche/gleiche Komponenten benutzt, bspw. Entrys oder Labels.

Aktuell setze ich auf dem jeweiligen Page-Objekt einen Style (entweder Anmeldeseite oder Inhaltsseite) und bei den nachfolgenden Elementen dementsprechend auch (Anmeldeseite__Entry, Anmeldeseite__Label, ...).

Jetzt wäre es natürlich für die Lesbarkeit des Markups in meinen Augen sehr hilfreich, wenn sich entweder aus dem Kontext ("Entrys auf der Anmeldeseite erhalten automatisch den Style Anmeldeseite__Entry") der Style möglicher Kind-Komponenten ergeben würden.

Leider habe ich bis dahin noch keinen verlässlichen Weg dazu gefunden, außer die Nutzung von CSS-Styles, was für mich in so einem Fall eher die letzte Option wäre, da ich in einem Team arbeite, das bisher ausschließlich WPF-XAML zum Styling der eigenen Anwendungen genutzt hat.

Eine weitere Frage bzgl. der Style-Eigenschaften von Komponenten hat sich bei mir ergeben, die mir das Netz auch bisher nicht beantworten konnte:

Können Styles über die Klassenhierarchie vererbt werden?

Konkret wäre es für mich sonst auch eine Idee, dass Basis-Komponenten als eigene Klassen existieren und deren Style übernommen werden:

Im angesprochenen Kontext könnten Anmeldeseiten alle von einem Typ _Anmeldeseite _ erben, der wiederum von einer ContentPage mit zusätzlich definierten Style-Eigenschaften stammen könnte.

Das hatte ich experimentell mal ausprobiert, allerdings gingen die Style-Informationen immer verloren bzw. wurden nicht angewandt.

Über ein paar Denkanstöße oder Best-Practices würde ich mich sehr freuen. Möglicherweise versuche ich auch gerade einfach ein Problem mit den falschen Mitteln zu lösen 😃

Auf einen regen Austausch und besten Dank für eure Antworten! 😃