У меня есть этот код XAML для acolumn в DataGridWPF числовой формат
<DataGridTemplateColumn Header="% Deduccion Anticipo">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding NumPorcentajeAnticipo, Mode=TwoWay, StringFormat={}{0:00.}%}" Visibility="{Binding Merlin_ConceptosFacturacion.BitOtrosItms_Anticipos,Converter={StaticResource boolToVisibility}}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<TextBox Text="{Binding NumPorcentajeAnticipo, Mode=TwoWay,StringFormat={}{0:00.}%}" Visibility="{Binding Merlin_ConceptosFacturacion.BitOtrosItms_Anticipos,Converter={StaticResource boolToVisibility}}"/>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
StringFormat в своей работе применяет, как я ожидал, но проблема Мюи это пользователь может заполнить его с любой символ альфа, символ числа, как я могу сделать, чтобы предотвратить его, можно установить маску ввода?
Я пытаюсь использовать другой StringFormats, но любой из них работает так, как я ожидаю.
UPDATE: столбец в настоящее время привязан к цифровому свойству моей модели просмотра.
Там действительно нет необходимости * купить * сторонний контроль, довольно тривиально достичь того, чего хочет OP, перехватывая нажатия клавиш - неважно, хорошая идея - это отдельный вопрос. –
Tks для вашего ответа, из-за это очень распространенная вещь, которую я ожидал от родной WPF, имеет эту функцию. –
@MattBurland: Правда. Однако, построить его самостоятельно означает отладить его самостоятельно. Третий сторонний контроль будет уже протестирован и отлажен. Хотя это не означает, что все ошибки были удалены. JuanPabloGomez: Я не верю, что в WinForms также доступны маскированные элементы управления вводом. –