gpt4 book ai didi

xaml - XAML 中的字符串格式

转载 作者:行者123 更新时间:2023-12-04 14:00:24 27 4
gpt4 key购买 nike

我正在尝试格式化我的 string每 3 位有逗号,如果不是整数,则为小数。我检查了大约 20 个示例,这是我最接近的示例:

<TextBlock x:Name="countTextBlock" Text="{Binding Count, StringFormat={0:n}}" />

但我得到一个 The property 'StringFormat' was not found in type 'Binding'.错误。

任何想法这里有什么问题? Windows Phone 8.1 似乎与 WPF 不同,因为所有 WPF 资源都表明它是这样完成的。

( string 不断更新,所以我需要将代码放在 XAML 中。我还需要它保持绑定(bind)。当然,除非我不能吃蛋糕也不能吃。)

最佳答案

看起来,类似于 Binding在 WinRT 中,Binding在 Windows Phone 通用应用程序中没有 StringFormat属性(property)。解决此限制的一种可能方法是使用 Converterthis blog post 中所述,

总结帖子,你可以创建一个IValueConverter接受字符串格式作为参数的实现:

public sealed class StringFormatConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, string language)
{
if (value == null)
return null;

if (parameter == null)
return value;

return string.Format((string)parameter, value);
}

public object ConvertBack(object value, Type targetType, object parameter,
string language)
{
throw new NotImplementedException();
}
}

在您的 XAML 中创建上述转换器的资源,然后您可以像这样使用它,例如:
<TextBlock x:Name="countTextBlock" 
Text="{Binding Count,
Converter={StaticResource StringFormatConverter},
ConverterParameter='{}{0:n}'}" />

关于xaml - XAML 中的字符串格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24966425/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com