WPF: инициализация TextBox и привязка его к правилу проверки - PullRequest
0 голосов
/ 02 июля 2011

Я пытаюсь проверить IP-адрес, который пользователь вводит в текстовое поле диалога WPF.Текстовое поле должно быть инициализировано с 127.0.0.1.Это XAML:

<TextBox 
    Height="23" 
    Width="98" 
    VerticalAlignment="Top" 
    HorizontalAlignment="Left" 
    Name="ip_address" 
    Text="127.0.0.1">
    <TextBox.Text>
        <Binding Path="Left" UpdateSourceTrigger="PropertyChanged">
            <Binding.ValidationRules>
                <local:IPValidationRule />
            </Binding.ValidationRules>
        </Binding>
    </TextBox.Text>
</TextBox>

Эта попытка привязать текстовое поле к правилу проверки приводит к ошибке, поскольку атрибут Text уже имеет значение 127.0.0.1.У меня такой вопрос: как я могу добиться инициализации и привязки одновременно?

С уважением, RSel

PS: Инициализация текстового поля в Window_Loaded также не работает.Коробка просто остается пустой.Без привязки к правилу это работает.

1 Ответ

0 голосов
/ 02 июля 2011

Пара вариантов:

  1. Установите начальное значение в свойстве, к которому привязано текстовое поле. Привязка должна поднять это, когда контроль загружается. Я не уверен, что это соответствует вашим целям.

  2. Используйте свойство TargetNullValue объекта привязки, чтобы указать, что показывать, когда источник имеет значение null.

Вот MSDN для варианта 2:

http://msdn.microsoft.com/en-us/library/system.windows.data.bindingbase.targetnullvalue.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...