2013-05-06 62 views
2

我有一个DataGridTemplate,它绑定到一个double值“AverageWeight”。该字段不必具有任何小数位,但可以具有最多5个小数位。按小数点排列值

public double AverageWeight 
{ 
    get { return _averageWeight; } 
    set 
    { 
     _averageWeight = value; 
     RaisePropertyChanged(() => AverageWeight); 
    } 
} 

的XAML这就是:

<DataGridTemplateColumn Width="4*" Header="Avg. Weight"> 
    <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <Label VerticalAlignment="Center" Content="{Binding Path=AverageWeight}"/> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn> 

我想要做的是有在小数点对齐这些平均权重值没有表现出不必要的尾随零。我怎样才能做到这一点?

回答

4

你要么需要垫出来与0的使用上绑定或建立自己的IValueConverter格式字符串财产使用String.PadLeft给它多余的空格来处理转换。

这假设你使用的是固定宽度的字体,如果你不是,那么你很可能不得不分开数字的小数和整数部分,并将其绑定到多个文本块中。

0

尝试的StringFormat

Content="{Binding Path=AverageWeight, StringFormat=N5}" 
0

一下添加到标签:

ContentStringFormat="{}{0:F5}" 

如果需要的话这将创建5个零。