我创建了一个名为 LocalIPProperty 的依赖属性作为字符串依赖属性。一切都很好,但是当我之后在应用程序中使用 UserControl 并将 LocalIPProperty 更改为 VS 属性窗口中的非 IP 文本时,VS 属性窗口显示默认 IP 字符串(127.0.0.1)并在 XAML 中添加:LocalIP= “sdashashfah”,然后当我尝试运行应用程序时,我得到 XalmParserException。
我还尝试将 LocalIPProperty 简单地创建为 IPAddress 依赖属性,但在使用 UserControl 的应用程序中,我无法更改 IPAddress。
我想要的是,当我在 VS 属性窗口中将 LocalIP 设置为非 IP 字符串时,该值保持不变。
我现在拥有的是:
public static DependencyProperty LocalIPProperty = DependencyProperty.
Register("LocalIP", typeof(string), typeof(UserControl1),
new FrameworkPropertyMetadata("127.0.0.1"), IPPropertyValidate);
private static bool IPPropertyValidate(object value)
{
try
{
IPAddress.Parse((string)value);
}
catch { return false; }
return true;
}
[Description("IP for listening."), Category("Address")]
public string LocalIP
{
get { return (string)GetValue(LocalIPProperty); }
set { SetValue(LocalIPProperty, value); }
}
感谢您的任何努力。