自定义用户控件的依赖属性

时间:2011-04-12 14:02:16

标签: wpf

我这里有一个大问题。 事情就是这样:

我有一个包含RichTextBox的自定义控件。在这个富文本框中,我介绍了超链接和文本块。

在用户控件中,我有名为Designer的属性,它从我的usercontrol中包含的richtextbox返回序列化的流文档。

public string Designer
    {
        get
        {
            return XamlWriter.Save(linkRtb.Document);
        }
        set
        {
            var stringReader = new StringReader(value);
            var xmlTextReader = new XmlTextReader(stringReader);
            linkRtb.Document = (FlowDocument)XamlReader.Load(xmlTextReader);

            OnPropertyChanged("Designer");
        }
    }

将任何内容绑定到此属性都有效。但我想要做的是将此属性绑定到我后面的代码中。问题是,如果我使Designer成为依赖属性,绑定不起作用,我不知道为什么。

我想要做的绑定看起来像这样:

Designer="{Binding Source=CodeBehindClass, Path=CodeBehindVariable, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged}"

1 个答案:

答案 0 :(得分:0)

  

根据我的阅读,我明白你不能为依赖属性的get和set添加任何逻辑。

更正,请在DP注册时使用元数据中的PropertyChangedCallback