作爲一個側面說明,這也是值得注意的是,如果你複製你會得到這些綁定錯誤和對象之間的粘貼和忘記改變第二typeof(Object)
聲明。
我找不到一個好時辰,爲什麼我得到這個錯誤,因爲一切似乎都被定義和正確。我想將我的屬性移動到用戶控件中,因爲我想從一個集合到一個列表。因此:
public static readonly DependencyProperty FoldersProperty = DependencyProperty.Register("Folders", typeof(OutlookFolders), typeof(MainWindow), new FrameworkPropertyMetadata(new OutlookFolders()));
public OutlookFolders Folders
{
get { return GetValue(FoldersProperty) as OutlookFolders; }
set { SetValue(FoldersProperty, value); }
}
應該成爲:
public static readonly DependencyProperty FoldersProperty = DependencyProperty.Register("Folders", typeof(OutlookFolders), typeof(SavedFolderControl), new FrameworkPropertyMetadata(new OutlookFolders()));
public OutlookFolders Folders
{
get { return GetValue(FoldersProperty) as OutlookFolders; }
set { SetValue(FoldersProperty, value); }
}
直到我做了這個改變我不停收到錯誤: A 'Binding' cannot be set on the property 'Folders' of type 'SavedFolderControl'. A 'Binding' can only be set on a DependencyProperty of a DependencyObject.
是的。只有依賴屬性可以充當綁定的目標。源可能是一個依賴項屬性或實現INotifyPropertyChanged的CLR屬性 – Gishu 2012-07-11 15:16:13
這是您的其他問題的確切副本,您接受答案並說「但我必須修改屬性以包含DependencyProperty」。你的解決方案應該被包含在那裏作爲答案 – arserbin3 2012-07-11 15:38:07
@AdamHouldsworth是的,這個問題是張貼只是爲了張貼答案。這實際上被鼓勵,因爲它被看作是一種共享知識的形式,甚至還有一個[在Ask Question表單上的新的CheckBox](http://meta.stackexchange.com/questions/132886/what-is-這回答你自己的問題爵士樂),這將允許你在你寫問題的同時寫一個答案。 – Rachel 2012-07-11 15:56:36