2010-06-29 100 views
0

我遇到問題。我需要在所有文本框中有雙格式值WPF TextBox StringFormat不與PropertyChanged一起使用

當您在此輸入內容時,在失去焦點後,它將被格式化。

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

將此UpdateSourceTrigger與propertychanged一起添加時出現問題。那麼它將永遠不會被格式化。

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

這是爲什麼?有什麼方法可以解決這個問題嗎? (在優選XAML)

+0

嘗試此 http://stackoverflow.com/questions/3200464/problem-with-updatesourcetrigger-propertychanged-and-stringformat-in-wpf – 2014-06-29 03:48:22

回答

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(); 
    }