我尝试验证用户进入WPF对话框文本框的IP地址。该文本框应该用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中初始化文本框也不起作用。盒子仍然是空的。没有绑定规则就行了。
答案 0 :(得分:0)
几个选项:
在文本框绑定的属性中设置初始值。绑定应该在控件加载时选择它。我不确定这是否符合你的目标。
使用绑定对象的TargetNullValue属性指定源为null时要显示的内容。
这是选项2的MSDN:
http://msdn.microsoft.com/en-us/library/system.windows.data.bindingbase.targetnullvalue.aspx