В моем классе у меня есть Number
свойство
double number;
public double Number { get => number; set { number = value; OnPropertyChanged(); } }
, связанное с TextBox
в xaml
таким образом:
<TextBox Text="{Binding Number, UpdateSourceTrigger=PropertyChanged, StringFormat=N2}"/>
Когда я запускаю приложениеTextBox
автоматически получает 0.00
, вероятно, потому что типы значений инициализируются по умолчанию. Если я TAB для фокусировки TextBox
, он не выберет 0.00
, поэтому я должен вручную удалить первый 0
перед десятичной точкой, чтобы там ввести какое-то значение. Если я введу целое число, я получу конечный .00
, как и ожидалось, НО, если я нажму . на цифровой клавиатуре, чтобы добавить некоторые десятичные точки после целой части, я получу красный знак вокруг TextBox
и.00
не удаляется! Поэтому вместо того, чтобы нажимать . и вводить цифры, я должен нажать → , чтобы сначала перейти к десятичной части, а затем ввести цифры.
Я хочу TextBox
будет пустым / пустым, когда приложение запускается и когда я нажимаю . , я хочу, чтобы конечный .00
был заменен тем, что я ввожу, т.е. .25
, после этого Если я нажму кнопку, чтобы обработать значение в коде, я хочу, чтобы TextBox
снова был пустым / пустым! Как это сделать?
Есть ли маска TextBox
для этой цели?