1

コードビハインドでテキストボックスを作成し、それをdoubleプロパティにバインドします。

                TextBox t = new TextBox();
                t.Width = 80;
                t.DataContext = s;         
                Binding binding = new Binding();
                binding.Mode = BindingMode.TwoWay;
                binding.Path = new PropertyPath("Value");
                BindingOperations.SetBinding(t, TextBox.TextProperty, binding);

45,45(コンマ)のような値を入力すると、4545に解析されます。

45.45(ポイント)を入力すると、45,45で正しく解析されます。

私はドイツ語の設定を使用しており、10進数のSperatorは、

私は何が間違っているのですか?

4

3 に答える 3

3

バインディングを設定してみてください。ConverterCultureをターゲットカルチャに合わせます。

例えば

 binding.ConverterCulture = CultureInfo.CurrentCulture;
于 2012-03-14T13:08:14.020 に答える
2

カルチャ固有ではない明確な解決策は、これをApp.xaml.csに追加することであり、通常、WPFは常に正しいカルチャ(地域設定)を使用します。

    static App()
    {
        FrameworkElement.LanguageProperty.OverrideMetadata(
            typeof(FrameworkElement),
            new FrameworkPropertyMetadata(XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));
    }
于 2012-03-14T13:12:12.843 に答える
-1

試しましたか

System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("de-DE");
于 2012-03-14T13:05:56.267 に答える