4

次のように、分離コードから「0.0」のようにフォーマットされた double 値を取得する方法を教えてください。

Binding b = new Binding(DoubleValue);
b.StringFormat = "????";

xamlでは、「0.0」と同じように機能します...

4

1 に答える 1

8

これはどうですか?

b.StringFormat = "{0:F1}";

StringFormatのドキュメントと、標準数値書式文字列およびカスタム数値書式文字列も参照してください。


編集:コードでバインディングがどのように作成され、(Textという名前の架空の TextBlock のプロパティに)割り当てられるかを明確にするために:textBlock

public class ViewModel
{
    public double DoubleValue { get; set; }
}

...

var viewModel = new ViewModel
{
    DoubleValue = Math.PI
};

var binding = new Binding
{
    Source = viewModel,
    Path = new PropertyPath("DoubleValue"),
    StringFormat = "{0:F1}"
};

textBlock.SetBinding(TextBlock.TextProperty, binding);

または:

var binding = new Binding
{
    Path = new PropertyPath("DoubleValue"),
    StringFormat = "{0:F1}"
};

textBlock.DataContext = viewModel;
textBlock.SetBinding(TextBlock.TextProperty, binding);
于 2013-02-08T09:41:52.637 に答える