#wpf #xaml #string-formatting #mahapps.metro
#wpf #xaml #форматирование строки #mahapps.metro
Вопрос:
Я использую дизайн-фреймворк mahapps.metro для datagridnumericupdowncolumn:https://mahapps.com/controls/datagrid.html
Вот пример со stringformat=C. Но вместо этого мне нужен D только для чисел без запятой: форматы строк, определенные Microsoft
<Controls:DataGridNumericUpDownColumn Binding="{Binding DECIMAL_BINDING_VALUE}" StringFormat="D" Minimum="1" HideUpDownButtons="True"/>
Значение по умолчанию для привязанной переменной DECIMAL_BINDING_VALUE равно 12345. Если я открываю окно, Visual Studio выдает исключение:
Система.Исключение FormatException: «Формат недопустим». Если я использую String.Format= C Я не получаю ошибок….
Как я могу определить правильный StringFormat для no commata с помощью DatagridNumericUpDownColumn в XAML?
Ответ №1:
Попробуйте:
<Controls:DataGridNumericUpDownColumn Binding="{Binding DECIMAL_BINDING_VALUE, StringFormat='{0:D}'}" Minimum="1" HideUpDownButtons="True"/>
С StringFormat
внутри Binding
.
Вот как это делается в базе привязки.Документы о свойствах StringFormat для StringFormat.
Комментарии:
1. Черт… Когда я нажимаю на ячейку, выходные данные отправляются в систему. Windows. Ошибка данных: 6: преобразователю ‘StringFormat’ не удалось преобразовать значение ‘0’ (тип ‘Десятичный’); будет использовано резервное значение, если оно доступно. Выражение привязки:Path=DECIMAL_BINDING_VALUE; DataItem=’TBL_MYSPCLTABLE’ (хэш-код=41757008); целевой элемент — ‘DataGridCell’ (Name=»); целевое свойство — ‘CellContent’ (тип ‘Строка’) Исключение FormatException:’Система. Исключение FormatException: формат недопустим.