Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#文本框动态显示货币格式_C#_Xaml_Textbox_String Formatting_Currency - Fatal编程技术网

C#文本框动态显示货币格式

C#文本框动态显示货币格式,c#,xaml,textbox,string-formatting,currency,C#,Xaml,Textbox,String Formatting,Currency,我是C语言的新手# 我几乎尝试了所有的事情,搜索了所有的网络来寻找答案,但仍然不能自己去做。 我的问题是关于格式化文本框 我想要的是,当我在文本框中写入一个数字时,文本框将显示这个数字,并带有十进制和货币符号 因为我有10个文本框,可以将数字表示为货币 我知道我必须做装订 对不起我的英语。 这是我的班级转换器 class Bindings : IvalueConverter { public object Convert(object value, Type targetType,

我是C语言的新手# 我几乎尝试了所有的事情,搜索了所有的网络来寻找答案,但仍然不能自己去做。 我的问题是关于格式化文本框

我想要的是,当我在文本框中写入一个数字时,文本框将显示这个数字,并带有十进制和货币符号

因为我有10个文本框,可以将数字表示为货币 我知道我必须做装订

对不起我的英语。

这是我的班级转换器

class Bindings : IvalueConverter
{
      public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
      {
            if (value !=null)
            {
              double valueshop = (double)value;
              return string.Format(culture, "{0:C}", valueshop;
            }
     public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
     {
           throw new  NotImplementedException();
     }
}
这是我的xaml

<window.Resources>
     <local:Bindings x:Key="ForText"/>
</window.Resources>
<StackPanel Margin="10">
<TextBox Name="MoneyOne" Text="{Binding Converter={StaticResources ForText}, Mode=OneWay, Path=valueshop, UpdateSourceTrigger=PropertyChanged, StringFormat='C'}"/>
    </StackPanel>

我希望有人能帮忙,谢谢。

你可以试试:

  • 切换到MaskedTextBox(来自扩展WPF工具包,可在NuGet上获得),而不仅仅是常规文本框,组件源可在以下位置获得:
  • 将其实现为一个附加属性,如下所示:
  • 根据您的需要塑造此示例(从TextBox创建您自己的带遮罩的后代)

那么您想告诉我的是,没有办法将常规文本框转换为货币文本框(我的意思是,如果你知道如何处理excel单元格。如果你想将数字显示为货币,有一个选项可以将其更改为货币。因此,当你点击一个数字,然后退出单元格时。单元格显示符号、小数和分隔符。我的意思是至少有3个选项。如果你想坚持使用TextBox类,你应该选择这个选项。)#2(附加属性)。其他两个选项是关于继承的。嗨,Yury,我在这里发现了类似的问题,我看到@RohitVats通过电子邮件回答了这个问题。我想我没有正确绑定它。