【问题标题】:XamlReader parse read only dependency propertyXamlReader 解析只读依赖属性
【发布时间】:2017-10-02 12:48:04
【问题描述】:

我有一个字符串,其中包含一个包含 UserControl 的 Grid 的 XAML 布局。

UserControl 有一个名为 Code 的只读 DependencyProperty。

我想使用 XamlReader.Parse 反序列化字符串以获取 Grid 及其子项,但我得到了 System.Windows.Markup.XamlParseException,因为属性“代码”已注册为只读并且它没有授权密钥就无法修改。

还有其他方法吗?

【问题讨论】:

  • 您的 XAML 是否尝试设置只读依赖项属性?这显然行不通。
  • 在我的 Xaml 中,我简单地定义了这个
  • 我手动创建我的 Xaml 布局并设置它,因为我需要该值进行绑定。我想我将不得不将它存储在 Tag 属性中。

标签: wpf vb.net xaml dependency-properties


【解决方案1】:

您不能像这样在 XAML 中设置只读依赖属性:

<local:MyUserControl Code="1" />

如果您希望能够做到这一点,那么依赖属性应该被定义为只读。这毫无意义。

上面的 XAML sn-p 创建了一个MyUserControl 的实例并尝试将Code 属性设置为“1”,如果Code 是只读的,显然这将不起作用。您甚至无法编译此 XAML,因此这与 XamlReader.Parse 没有真正的关系。

【讨论】:

  • 一开始它不是只读的,但它应该是,所以我改变了它。我会将值存储在 Tag 属性中并将其用于绑定。谢谢!
猜你喜欢
  • 2010-11-10
  • 2010-12-17
  • 1970-01-01
  • 2011-06-14
  • 2011-03-20
  • 1970-01-01
  • 2021-03-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多