Laden...

XAML Extension in Basis Klasse auslagern

Erstellt von manullino vor 6 Jahren Letzter Beitrag vor 6 Jahren 1.248 Views
manullino Themenstarter:in
371 Beiträge seit 2008
vor 6 Jahren
XAML Extension in Basis Klasse auslagern

Hallo zusammen,

nach langer Zeit habe ich nun mal wieder ein bisschen Freiraum fuer WPF. 😃
Hierzu habe ich gleich mal eine Frage bzgl. Localization.

Ich nutze eine Extension um in XAML meine String zu uebersezten.
Hier auf Codeplex beschrieben: Klick

Nun wuerde ich den Code gerne in eine Basisklasse (z.B. des Label oder des Buttons) verschieben, damit ich nicht jedes mal die Extension "lex:Loc" tippen muss, ist das moeglich?

So soll der Code dann aussehen:

<x:Label Content="Test" />

anstatt:

<Label Content="{lex:Loc Test}" />

Vielen Dank,
Manullino

T
50 Beiträge seit 2010
vor 6 Jahren

Hallo Manullino,

ich habe die Extension selbst schon genutzt und habe mich an der Schreibweise nicht gestört - sie ist recht knapp gehalten. Hinter lex:Loc steckt ja etwas Logik, welche anhand eines Strings aus einer definierten Resource die Übersetzung zieht.

Nach dem Du nur einen String definieren möchtest, müsstest Du bei der Initialisierung des Controls den String aus Content auslesen und durch die Übersetzung ersetzen. Für Label ist das noch einfach, aber es gibt Controls, die mehr als ein übersetzbares Property haben. Ferner müsste der Mechanismus für jedes verwendete Control geschrieben werden. Ich weiß nicht, ob der Aufwand einschließlich der einhergehenden Fehleranfälligkeit und Wartbarkeit zum gewünschten Ergebnis stehen würde. Ich bezweifle das eher sehr.

teebeast

manullino Themenstarter:in
371 Beiträge seit 2008
vor 6 Jahren

Hallo teebeast,

kannst du mir bitte verraten wie Du das umgesetzt hast?
Welchen Event hast du dafür verwendet bzw. überschrieben?

Vielen Dank,
Manullino