【问题标题】:WPF IPAddress Dependency propertyWPF IPAddress 依赖属性
【发布时间】:2013-01-27 01:37:57
【问题描述】:

我创建了一个名为 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); }
        }

感谢您的努力。

【问题讨论】:

    标签: wpf user-controls dependency-properties


    【解决方案1】:

    听起来像是 VS 编辑器中的一个错误。看起来它正在尝试设置您输入的无效属性值,但当它从验证中返回错误值时不知道该怎么做。它可能会尝试将其设置为设计时值,以便在运行时忽略但不输出正确的语法。

    【讨论】:

      猜你喜欢
      • 2014-05-23
      • 1970-01-01
      • 1970-01-01
      • 2013-01-31
      • 2011-03-28
      • 2012-11-08
      • 2011-06-29
      相关资源
      最近更新 更多