4

我不知道如何使我的文本框从字符串变为货币。我已经在 STO、google 上进行了搜索。但不明白如何使用它。

假设我有一个文本框。每当它运行程序时,我都会在文本框内键入。如果我输入 1000,我希望我的文本框自动更改为 1,000。如果我输入 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

2 回答 2

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>
于 2012-10-20T13:06:48.810 回答
4

使用StringFormat依赖属性来格式化您希望字符串在 UI 上显示的方式。尝试这个 -

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

有关更多格式,请参阅 msdn 中的此链接 -自定义数字格式

于 2012-10-20T13:12:30.757 回答