Форматирование числовой строки до определенного количества десятичных знаков в XAML
У меня есть текстовый блок, который привязан к строковому свойству, которое является демическим числом. На мой взгляд, я хочу отформатировать его до одной цифры после десятичной точки.
Я попробовал несколько подходов, но ни один не сработал. Любая идея может быть неправильной или что еще можно попробовать?
Что я уже пробовал:
My TextBlock xaml: <TextBlock Grid.Row="5" Text="{Binding SelChem.Lel, StringFormat={}{0:F1}}"/>
Я тоже пытался:
<TextBlock Grid.Row="5" Text="{Binding SelChem.Lel, StringFormat=N2}"/>
Richard Deeming
StringFormat=N2
для меня это прекрасно работает.
Проверьте окно вывода Visual Studio на наличие ошибок привязки данных.
Member 13063329
Попробовал и это. Данные отображаются правильно, просто не отформатированы, так что никаких ошибок привязки нет.
Richard Deeming
Что это за тип недвижимости?
Member 13063329
В SelChem.lel SelChem-это мой объект модели, а lel-строковое свойство
Richard Deeming
Ну, тогда вот в чем проблема! :)
То StringFormat
применяется только к тем типам, которые являются IFormattable
- напр: double
, float
, DateTime
, прием.
Один string
не является IFormattable
, так что StringFormat
игнорируется.
Либо предоставьте число как числовой тип, либо измените формат, используемый при преобразовании числа в строку.