2017-07-03 4 views
1

Verwenden eines TextBox in WPF Ich habe das Problem, wenn ich ',' anstelle von '.' Jedes Mal, wenn ich versuche, den Wert zu erhalten, wird der Text in der TextBox mit der gleichen Nummer ohne Komma umgewandelt.Doppeltes Dezimaltrennzeichen WPF

Wie kann ich diese automatische Umwandlung deaktivieren?

<TextBox 
    x:Name="XValue" 
    Text="{Binding XInitValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
    Width="80" VerticalAlignment="Center" 
    TextChanged="XValue_TextChanged" 
</TextBox> 

private void XValue_TextChanged(object sender, TextChangedEventArgs e) 
{ 
    double a = XInitValue; 
} 
+1

Bitte nehmen Sie sich einen Blick auf diese Antwort: https://stackoverflow.com/questions/9160059/set-up-dot-instead-of- Komma-in-Zahlen-Werte – CCamilo

Antwort

0

Ich löste es einen Konverter

public class DecimalConverter : IValueConverter 
    { 
     public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
     { 
      if(CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator == ".") 
       return value.ToString().Replace(",", "."); 
      else 
       return value.ToString().Replace(".", ","); 
     } 

     public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
     { 
      if (CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator == ".") 
       return value.ToString().Replace(".", ","); 
      else 
       return value.ToString().Replace(",", "."); 
     } 

    }