Label Visibility Trigger oder Converter
-
Hallo zusammen.
Habe in meinem WPF Projekt ein Label. Das möchte ich nun abhängig davon ob ein Property null ist oder nicht ausblenden oder anzeigen.
Dazu habe ich doch nun 2 Möglichkeiten. Ich kann die Eigenschaft Visibility auf das Property binden und einen geeigneten Converter verwenden oder ich benutze einen Trigger.
Hier liege ich doch richtig. Oder? Wenn ja was wird hier eher verwendet und wieso.
Kann mir jemand helfen.
-
Ja, du liegst richtig.
Was eher verwendet wird, weiss ich nicht. Für so eine einfache Operation reicht ein Trigger aus. Heisst es ist eine OneWay Bindung. Für eine TwoWay Bindung wäre z.B. bereits ein Konverter nötig, da es eine
ConvertBack
Methode benötigt.Ein Argument für einen Trigger wäre, dass man möglichst viel in XAML deklarieren möchte und möglichst wenig Codebehind existieren soll.
Wenn man komplexere Konvertierungen machen möchte, reicht aber eben ein Trigger vielfach nicht mehr. Wenn man einen guten Namen für den Konverter wählt, ist es zudem klar ersichtlich, worum es geht. Zudem ist die Verwendung eines Konverters in XAML eher kompakt und kann auch wiederverwendet werden, sofern er Stateless ist.Am Ende dürfte es wohl einfach auf eine persönliche Präferenz hinauslaufen.
Grüssli
-
Ok. Vielen Dank.
Vieleicht könntest du mir nochmals weiterhelfen in Sachen Trigger.
Und zwar habe ich eine Combobox. Darauf habe ich einen Style angewendet, der etwas umfangreicher ist.
Nun würde ich gerne zusätlich über einen Trigger den Rahmen der Combobox einfärben.
Wie kann ich nun den bisherigen Style plus den Style des Triggers auf die Combobox anwenden?
-
-
Das hat auch noch funktioniert. Hatte das irgendwie schon vorher. Aber hatte da noch ein Fehler drin. Dachte das geht so nicht.
Dank dir.
Und gleich noch eine Frage. Wie bekomme ich es denn hin in einem Trigger auf ungleich null abzufragen?
-
Parker schrieb:
Und gleich noch eine Frage. Wie bekomme ich es denn hin in einem Trigger auf ungleich null abzufragen?
Wie ich sagte, mit einem Konverter hat man eine höhere Flexibilität
Grüssli