2013-06-11 17 views

Antwort

3

Sie können so etwas wie diese

<TextBox TextAlignment="Right" 
     Text="{Binding Price, 
      UpdateSourceTrigger=PropertyChanged, 
      StringFormat='#.00', 
      ConverterCulture={x:Static sysglb:CultureInfo.CurrentCulture}}"/> 

verwenden, die den Text zwingen richtige Ausrichtung zu haben, und ein Format wie 105.00 oder 19.95 mit Komma-/Komma auf Benutzer Systemeinstellungen abhängig haben. Sie können dem Zeichenfolgenformat auch ein Währungszeichen hinzufügen, falls zutreffend.

Bearbeiten: Sorry, ich bin verwöhnt mit dem automatischen Import von Namespaces. In Ihrem Elemente der obersten Ebene (Usercontrol, Fenster, ...) hinzufügen:

<UserControl x:Class="..." 
    ... 
    xmlns:sysglb="clr-namespace:System.Globalization;assembly=mscorlib" 
    ... 
> 
+0

Dank für die Hilfe, ich versuche, diesen Code, aber warum Ich kann sysglb nicht benutzen: CultureInfo.CurrentCulture} * Entschuldigung für meine blöde Frage>. < – user2473454

+0

Wenn Sie ReSharper Plugin nicht verwenden (Hey! Es ist das Geld wert! Ok, ich bin voreingenommen, weil ich andere Produkte davon verwende Firma ...), die Namespaces werden nicht automatisch importiert. Ich werde es meiner Antwort hinzufügen. – eMko

+0

@ user2473454 Ich bekomme das gleiche ... – AndyUK

10

Suchen Sie so etwas wie dies ?:

<TextBox Text="{Binding Path=Txt, StringFormat=C}"/> 
+0

Dies wird das Währungszeichen abhängig von Benutzer-Systemeinstellung anzeigen, die nicht mit der Währung in der Datenbank übereinstimmen muss. – eMko

+0

welche Datenbank? ;-) – rhe1980

+1

oder was auch immer Datenquelle Sie haben :). Ihre Lösung ist definitiv sauberer als die Mine (vote up), hat aber eine Kurzmeldung, dass Sie keine Kontrolle haben, welches Währungszeichen dem Benutzer angezeigt wird und somit nicht mit Daten übereinstimmen muss. – eMko