2

我有一个DataGridTemplate绑定到双值“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

3 回答 3

4

您将需要使用绑定上的格式字符串属性将其填充为 0,或者构建您自己的 IValueConverter 以使用 String.PadLeft 处理转换以为其提供额外的空格。

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

于 2013-05-06T05:14:19.880 回答
0

将此添加到标签:

ContentStringFormat="{}{0:F5}"

如果需要,它将创建 5 个零。

于 2013-05-06T05:45:55.887 回答
0

尝试使用 StringFormat

Content="{Binding Path=AverageWeight, StringFormat=N5}"
于 2013-05-06T05:13:37.127 回答