Не обнуляемая WPF Привязка данных по умолчанию очищенный TextBox - PullRequest
2 голосов
/ 19 февраля 2010

У меня есть WPF TextBox, со свойством Text, связанным со значением int (не обнуляемым). Когда форма загружается, текстовое поле содержит 0. Есть ли способ сделать это текстовое поле по умолчанию пустым?

Я устанавливал значение равным нулю в коде позади, когда форма загружается, но кажется, что местами это выдает ошибки, которые скрыты для меня, поскольку нуль не может войти в значение int .. практика? У меня много таких ситуаций, DateTime устанавливается, и когда экран загружается, дата 1/1/0101, что уродливо для пользователя. Я могу по умолчанию установить дату на сегодняшний день, но в некоторых случаях, например, на дату рождения, это не имеет смысла.

Ответы [ 2 ]

2 голосов
/ 20 февраля 2010

Вы должны сделать Binding односторонним, используя BindingMode=OneWayToSource.Подробнее см. MSDN .

1 голос
/ 19 февраля 2010

Вы можете использовать конвертер значений (см. IValueConverter) или выставить int как string из вашей модели представления:

public string Value
{
    get
    {
        if (intValue == 0)
        {
            return string.Empty;
        }

        return intValue.ToString();
    }
    set
    {
        // do conversion here
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...