[英]How can I format this string in XAML?
我正在尝试将使用 Winforms 中的部件的程序转换为 WPF。 我在这部分遇到了一些麻烦。 该程序这样做:
this.textBox.Properties.DisplayFormat.FormatString = "#,#;-#,#;-";
我不太确定这是在做什么,我正在努力将其转换为 XAML 用于 WPF。 我知道我必须在这里设置它:
Text="{Binding x, Mode=OneWay, StringFormat={}{...}}"/>
但我不确定什么是等价的,因为#,#;-#,#;-
不起作用。 谢谢你的帮助: :)
根据WinForms Format Specifiers ,您的原始格式字符串说:
对于 WPF,您可以使用相同的字符串格式说明符,但您需要在格式前加上{}
。 这是必需的,否则 WPF 将与其他标记扩展混淆。
这是一个例子:
主.xaml
<StackPanel>
<TextBlock Text="{Binding Value1, StringFormat={}{0:#,#;-#,#;-}}"/>
<TextBlock Text="{Binding Value2, StringFormat={}{0:#,#;-#,#;-}}"/>
<TextBlock Text="{Binding Value3, StringFormat={}{0:#,#;-#,#;-}}"/>
</StackPanel>
Main.xaml.cs
public double Value1 { get; set; }
public double Value2 { get; set; }
public double Value3 { get; set; }
public MainWindow()
{
InitializeComponent();
Value1 = 1234567.890f;
Value2 = -987654.321f;
Value3 = 0;
this.DataContext = this;
}
这是最终的 output:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.