开发者

WPF: Initializing a TextBox and binding it to a validation rule

I try to validate the IP-Address a user enters into a text box of a WPF Dialog. The text box is supposed to be initialized with 127.0.0.1. This is the 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 />
            </Bin开发者_开发百科ding.ValidationRules>
        </Binding>
    </TextBox.Text>
</TextBox>

This attempt to bind the text box to the validation rule causes an error, because the attribute Text already has the value 127.0.0.1. My question is this: How can I achieve initializing and binding simultaneously?

Regards, RSel

PS: Initializing the text box in Window_Loaded doesn't work either. The box just remains empty. Without the binding to the rule it works.


A couple options:

  1. Set an initial value in the property that the textbox is bound to. The binding should pick this up when the control loads. I'm not sure if this meets your goals though.

  2. Use the TargetNullValue property of the binding object to specify what to show when the source is null.

Here's MSDN on option 2:

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

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜