XAML TextBlock XML:用于显示数字的 StringFormat

发布于 2024-12-09 22:51:47 字数 306 浏览 0 评论 0原文

我的 XML 数据是:

<Num>12.6</Num>

我将其绑定到 XAML TextBlock,并希望将该值显示为不带小数点的四舍五入数字。所以这个值应该显示为 13。同样,12.2 应该显示为 12,等等。

我需要下面的 StringFormat 中的代码(在...)来执行我想要的操作:

<TextBlock Text= "{Binding Num, StringFormat=...}" />

谢谢。

My XML data is:

<Num>12.6</Num>

I bind this to a XAML TextBlock and want to display the value as a rounded number without decimal point. So this value should be displayed as 13. Similarly, 12.2 should be displayed as 12, etc.

I need code in the StringFormat below (at the ...) to do what I want:

<TextBlock Text= "{Binding Num, StringFormat=...}" />

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月竹挽风 2024-12-16 22:51:47

尝试使用转换器:

public class StringToDoubleConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        return double.Parse(value as string);
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

然后在 xaml 中声明转换器:

<UserControl.Resources>
    <local:StringToDoubleConverter x:Key="StringToDoubleConverter"/>
</UserControl.Resources>

最后在绑定中与 StringFormat 一起使用它:

<TextBlock Text= "{Binding Num, StringFormat=n0, Converter={StaticResource StringToDoubleConverter}}" />

n0 中的零表示没有小数位 (标准数字格式字符串)

Try using a converter:

public class StringToDoubleConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        return double.Parse(value as string);
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

Then in xaml, declare the converter:

<UserControl.Resources>
    <local:StringToDoubleConverter x:Key="StringToDoubleConverter"/>
</UserControl.Resources>

And finally use it in the binding, together with the StringFormat:

<TextBlock Text= "{Binding Num, StringFormat=n0, Converter={StaticResource StringToDoubleConverter}}" />

The zero in n0 indicates no decimal places (Standard Numeric Format Strings)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文