У меня есть столбец сетки данных, значение которого можно редактировать.
<DataGridTextColumn Header = "Value" Binding = "{Binding Value}" />
В настоящее время я могу ввести любое значение для ячейки. (Символы, цифры, ..) Мне нужно проверить это только для чисел и запятой. Есть ли способ добиться этого?





Единственное, что мне приходит в голову, это добавить StringFormat в вашу привязку.
Binding = "{Binding Value, StringFormat=\{0:F\}}
Вам следует изменить тип свойства Value на double, float или decimal. Вы не можете установить свойство типа double ни на что иное, кроме допустимого значения double.
Только если Value - это string, вы можете установить для него «любое значение».
Итак, самый простой способ добиться желаемого - использовать соответствующий тип данных. Если вы хотите выполнить более сложную проверку, прочтите это.
<DataGridTextColumn Binding = "{Binding Value, StringFormat = {}{0:N2}}"/>
Вы можете решить эту проблему, используя StringFormat.