只是在数据绑定时格式化显示的字符串时遇到了一些麻烦。
假设我有一个属性大小:
/// <summary>
/// Size information
/// </summary>
private long _size;
public long Size
{
get
{
return _size;
}
set
{
if (value != _size)
{
_size = value;
NotifyPropertyChanged("Size");
}
}
}
而这个大小是一个代表字节数的整数。我想根据整数的大小显示一个表示大小的值。例如:
Size = 1 byte
Size = 1 kilobyte
Size = 100 megabytes
这是我的 TextBlock 的 XAML:
<TextBlock Text="{Binding Size, StringFormat='Size: {0}'}" TextWrapping="Wrap" Margin="12,110,0,0" Style="{StaticResource PhoneTextSubtleStyle}" Visibility="{Binding Visible}" FontSize="14" Height="20" VerticalAlignment="Top" HorizontalAlignment="Left" Width="200"/>
截至目前,它只显示“大小:50”,意思是 50 个字节,但我希望它显示“大小:50 字节/千字节/兆字节”(无论哪个合适),否则我会得到“大小:50000000000000”和巨大的像这样的数字。
我将如何“动态”更改字符串格式?
请记住,文本块被封装在由 ObservableCollection 限制的 LongListSelector 中,因此如果您知道我的意思,那么简单地获取文本块并更改文本将不起作用,因为会有大量使用文本块格式的对象。
谢谢。