Frage

Wir haben eine Lokalisierungslösung unter Verwendung einer benutzerdefinierten Markup -Erweiterung in VS 2008 entwickelt.

Zu der Zeit haben wir es so verwendet:

<TextBlock Text={utilsWpf:Intl Key=ObjectName.PropertyName, DefaultText=Default Name} />

(Beachten Sie den Speicherplatz im StandardText). (Beachten Sie auch, wie das Text-Farb-Werkzeug von Stackoverflow auch die Farbe der Wörter verändert).

Aber es funktioniert gut und kompiliert ohne Problem.

In VS 2010 fügt die IDE immer dann immer ein Komma hinzu, wenn Sie versuchen, einen Raum mit dieser Art der Implementierung einer Markup -Erweiterung einzugeben, die Ihnen:

<TextBlock Text={utilsWpf:Intl Key=ObjectName.PropertyName, DefaultText=Default, Name} />

Natürlich kompiliert es nicht mehr ...

Eine Lösung dafür ist die Implementierung dieser Markup -Erweiterung in der anderen Art und Weise:

<TextBlock>
    <TextBlock.Text>
       <utilsWpf:Intl Key="ObjectName.PropertyName", DefaultText="Default Name"/>
    </TextBlock.Text>
</TextBlock>

Aber es fügt viele Zeilen hinzu und wir haben nicht nur einen Textblock, wie Sie sich vorstellen können ...

Eine andere Lösung besteht nicht darin, den Speicherplatz einzugeben, sondern einen anderen Speicherplatz zu kopieren und ihn einzufügen (das immer noch in VS 2010 kompiliert, aber ziemlich grob ist).

Wie ich sehe, ist unsere Lösung nicht die beste Praxis.

Welche Art von Best Practice würden Sie empfehlen, Räume ohne Unannehmlichkeiten typern zu können?

Vielen Dank für Ihre Einsichten.

War es hilfreich?

Lösung

Versuchen Sie, einzelne Zitate zu verwenden:

<TextBlock Text="{utilsWpf:Intl Key=ObjectName.PropertyName, DefaultText='Default Name'}" /> 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top