2012-10-20 32 views
4

我不知道如何使我的文本框从字符串到货币。我已经在STO上搜索谷歌。但不明白如何使用它。wpf c上的货币文本框#

比方说,我有一个文本框。每当它运行该程序时,我在文本框内输入密钥。 如果我输入1000,我希望我的文本框自动更改为1000。 如果我输入10000,我的文本框将看起来像10,000。 但是每当我输入100时,我的文本框仍然会是100.

这是我的文本框xaml。

<TextBox Height="25" HorizontalAlignment="Left" Margin="126,223,0,0" Name="txtPrice" 
        VerticalAlignment="Top" Width="140" PreviewTextInput="txtPrice_PreviewTextInput" /> 

我曾经在使用vb.net之前做过这个,但现在我正在使用wpf。仍然是wpf的新手。 任何想法如何?谢谢。

回答

4

使用StringFormat依赖属性来格式化你想在UI中显示的字符串的方式。试试这个 -

<TextBox Text="{Binding YourBinding, StringFormat='##,#', 
          UpdateSourceTrigger=PropertyChanged}"/> 

更多格式参考此链接从MSDN - Custom Numeric Format

+0

嗨,谢谢你的回答。我尝试你的解决方案。但没有工作。 :) –

+0

你有绑定的价值与一些财产? –

+0

另外,如果您希望文本在输入文本时进行转换,请将'UpdateSourceTrigger'设置为'PropertyChanged'。见编辑的答案。 –

5

试试这个: -

<Style TargetType="{x:Type TextBox}"> 
    <Setter Property="Text" Value="{SomeValue, StringFormat=C}" /> 
    <Style.Triggers> 
    <Trigger Property="IsKeyboardFocusWithin" Value="True"> 
     <Setter Property="Text" Value="{SomeValue, UpdateSourceTrigger=PropertyChanged}" /> 
    </Trigger> 
    </Style.Triggers> 
</Style> 
+0

喜,thakns你的答案。但我仍然困惑。我应该在哪里放置你的xaml代码?在我的文本框里面?我在这个问题上添加了我的xaml。谢谢。 –

+0

将样式放在资源部分。看看是否有帮助:http://wpftutorial.net/Styles.html – Gary