StringFormatを使用してDataGridにデータを表示したいと思います。オブジェクトには、使用したいフォーマット文字列を持つプロパティがあります...たとえば、「{0:0。##} mmol / l」または「{0:0。##} mg/dl」で結果を表示します。さまざまな単位で。
XAML:
<DataGrid ItemsSource="{Binding Results}">
<DataGrid.Columns>
<DataGridTextColumn Header="Value" Binding="{Binding Value, Converter={StaticResource stringFormatConverter}}" />
C#のコンバーター:
public class StringFormatConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return string.Format("{0:0.##} mmol/l", value);
}
[...]
}
コンバーターの現在のバージョンのフォーマットストリングの代わりに、バインドしているアイテムのプロパティであるフォーマットストリングを使用するようにコンバーターに指示するにはどうすればよいですか?
編集:結果は次のような結果のObservableCollectionです
public class Result
{
public double Value {get; set; }
public string Key {get; set; }
public string FormatString {get; set; }
[...]
}