Я пишу приложение WPF MVVM в .Net 4.5 и нуждаюсь в помощи со следующей проблемой: У меня есть текстовое поле с числовым значением, например 110000, и когда оба из них удалены. 0. Вместо этого я хотел бы, чтобы он оставался с 0000. Изображение, чтобы помочь проиллюстрировать проблему.Текстовое поле автозаполнения WPF UI
Редактировать
<src:CustomTextBox VerticalAlignment="Center"
Text="{Binding TrafoProperties.RatedVoltage,
Mode=TwoWay,
ValidatesOnNotifyDataErrors=True,
NotifyOnValidationError=True}"
код для пользовательского текстового поля это набор PropertyChanged по умолчанию
static CustomTextBox()
{
var defaultMetadata = TextBox.TextProperty.GetMetadata(typeof(TextBox));
TextBox.TextProperty.OverrideMetadata(typeof(CustomTextBox), new FrameworkPropertyMetadata(
string.Empty, FrameworkPropertyMetadataOptions.Journal | FrameworkPropertyMetadataOptions.BindsTwoWayByDefault,
defaultMetadata.PropertyChangedCallback,
defaultMetadata.CoerceValueCallback,
true,
System.Windows.Data.UpdateSourceTrigger.PropertyChanged));
}
недвижимости
public double RatedVoltage
{
get { return _RatedVoltage; }
set
{
SetProperty(ref _RatedVoltage, value);
if (OnRatedVoltageChanged != null)
OnRatedVoltageChanged();
}
}
Это швы, что текстовое поле привязано к двойному свойству, и когда оно изменяется на 0000, его авто исправляет его до 0.