XamlReader解析只读依赖项属性

时间:2017-10-02 12:48:04

标签: wpf vb.net xaml dependency-properties

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

UserControl有一个只读的DependencyProperty,叫做Code。

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

还有其他办法吗?

1 个答案:

答案 0 :(得分:1)

您无法在XAML中设置只读依赖项属性,如下所示:

send(){
    this.ref.push({
        //key:this.ref.push().key("hello"),
        name: this.name,
        message: this.newmessage,
        phNo: this.data3,
    });
    this.newmessage = ""; //clear this.newmessage
    }

如果您希望能够执行此操作,则依赖项属性应定义为只读。这毫无意义。

上面的XAML代码段创建了<local:MyUserControl Code="1" /> 的实例,并尝试将MyUserControl属性设置为“1”,显然如果Code是只读的,这将不起作用。您甚至无法编译此XAML,因此这与Code无关。