我有一串数字存储在字符串属性中:
1234567890
我希望输出显示:
(123) 456-7890
我可以使用StringFormat属性在绑定期间在TextBlock中格式化吗?我在绑定表达式中尝试了stringformat='{0:(###) ###-####}'
之类的东西而没有任何成功。
答案 0 :(得分:0)
试试这个:
<TextBox Text="{Binding PhoneNumber, StringFormat='(###) ###-####'}" />
答案 1 :(得分:0)
#占位符用于数字类型。据我所知,字符串中的位置没有占位符字符。要格式化字符串,首先将其转换为数字类型,然后应用格式化。这只需要数字串。可能会抛出FormatException或OverflowException。我通过向我的实体添加了一个新属性来解决问题。
public string FormattedPhone
{
get { return Convert.ToDouble(this.Phone).ToString("(###) ###-####"); }
}
partial void OnPhoneChanged()
{
this.RaisePropertyChanged("FormattedPhone");
}
我的绑定看起来像这样:
<TextBlock Text="{Binding Path=FormattedPhone, Mode=OneWay}"/>