次のように、分離コードから「0.0」のようにフォーマットされた double 値を取得する方法を教えてください。
Binding b = new Binding(DoubleValue);
b.StringFormat = "????";
xamlでは、「0.0」と同じように機能します...
次のように、分離コードから「0.0」のようにフォーマットされた double 値を取得する方法を教えてください。
Binding b = new Binding(DoubleValue);
b.StringFormat = "????";
xamlでは、「0.0」と同じように機能します...
これはどうですか?
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);