2011-04-12 103 views
0

我在這裏遇到了一個大問題。 這是事情:自定義用戶控件的依賴屬性

我有一個自定義控件,其中包含一個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="{Binding Source=CodeBehindClass, Path=CodeBehindVariable, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged}" 
+0

綁定中的「CodeBehindClass」是什麼?無論如何,處理綁定問題時要做的第一件事就是在調試器下運行您的應用程序,並在Visual Studio的「輸出」窗口中查看綁定錯誤。 – 2011-04-12 14:28:25

+2

您能否提供您用於使Designer成爲依賴屬性的代碼? – Scott 2011-04-12 14:29:35

+0

我有點解決了這個問題。從我已閱讀我明白,你不能添加任何邏輯的get和設置依賴項屬性。 – astig 2011-04-13 12:29:33

回答

0

從我讀我明白,你不能任何邏輯添加到get和爲依賴屬性設置。

更正,請在DP註冊時在元數據中使用PropertyChangedCallback

相關問題