2013-05-06 64 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個零。