WPF TextBox StringFormat不使用PropertyChanged

时间:2010-06-29 08:49:55

标签: wpf xaml textbox string-formatting

我有问题。我需要在所有TextBox中都有双重格式化值

当您输入内容时,失去焦点后会格式化。

<TextBox Text="{Binding ABC, StringFormat='{}{0:N}'}"  />

使用propertychanged添加此UpdateSourceTrigger时出现问题。然后它永远不会被格式化。

<TextBox Text="{Binding ABC, UpdateSourceTrigger=PropertyChanged, StringFormat='{}{0:N}'}"  />

为什么?有什么方法可以解决这个问题吗? (最好是XAML)

1 个答案:

答案 0 :(得分:0)

试试这个

<TextBox x:Name="test" Text="{Binding MyName, UpdateSourceTrigger=Explicit,StringFormat='{}{0:N}'}" TextChanged="test_TextChanged" Width="100" Height="30" />


 private void test_TextChanged(object sender, TextChangedEventArgs e)
    {
        BindingExpression exp = test.GetBindingExpression(TextBox.TextProperty);
        exp.UpdateSource(); 
    }