Я видел много ссылок на make TextBox, позволяющих вводить только цифры ... нет проблем, я понимаю, как это сделать.Тем не менее, типичная привязка по-прежнему к «Text» (зависимость TextProperty) TextBox, который является строковым значением.
Если вводимое значение принудительно равно числовому (скажем ... либоцелое или двойное число с плавающей запятой для окончательного хранения), как бы вы имели правильную двустороннюю привязку, чтобы сказать
TextBox.MyInteger
TextBox.MyDouble
TextBox.MyFloat
TextBox.MyDateTime
Итак, если бы у меня был класс, который имел (например)
public class MyRecord
{
public int IntegerOnly { get; set; }
public double DoubleOnly { get; set; }
public DateTime SomeDate { get; set; }
}
И у меня есть TextBox в окне для ввода, с применимыми поведениями / фильтрами, позволяющими ТОЛЬКО вводить числовые (и десятичные точки) значения в TextBox, отображение пользователю осуществляется через показанный текст"value.
Итак, я хочу, чтобы экземпляр MyRecord.IntegerOnly возвращал числовое значение назад (в базу данных) и вперед (в представление для просмотра / редактирования пользователем).
Так как все в C # приведено к типу, я не вижу никакого значения "подразумеваемого" или "преобразования" из текста в числовое значение.
Аналогично, для ввода данных элемента управления TextBox типа DATE или DATETIME.Нет подразумеваемого / преобразованного значения ...
Как я могу / должен продолжить это?