Na marginesie, warto również zauważyć, że dostaniesz te błędy wiążące jeśli kopiować i wklejać między obiektami i zapomnij zmienić drugi typeof(Object)
oświadczenie.
Nie mogłem znaleźć dobrej godziny, dlaczego dostałem ten błąd, ponieważ wszystko wydawało się być zdefiniowane i poprawne. Przeniosłem moje właściwości do kontroli użytkownika, ponieważ chciałem przejść od jednego zestawu do listy. Zatem:
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); }
}
Gdyby stały:
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); }
}
Do Zrobiłem tę zmianę trzymałem otrzymaniu błąd: A 'Binding' cannot be set on the property 'Folders' of type 'SavedFolderControl'. A 'Binding' can only be set on a DependencyProperty of a DependencyObject.
Tak.Tylko właściwości Dependency mogą działać jako obiekty docelowe dla powiązań. Źródłem może być właściwość zależności lub właściwość CLR, która implementuje INotifyPropertyChanged – Gishu
To jest dokładny duplikat twojego drugiego pytania, gdzie akceptujesz odpowiedź i mówisz "ale musiałem zmodyfikować właściwość, aby uwzględnić DependencyProperty". Twoje rozwiązanie powinno znaleźć się w odpowiedzi na to pytanie. – arserbin3
@AdamHouldsworth Tak, to pytanie zostało wysłane, aby opublikować odpowiedź. Jest to rzeczywiście zachęcane, ponieważ jest postrzegane jako forma dzielenia się wiedzą, a nawet istnieje [nowy "CheckBox" na formularzu pytania pytania] (http://meta.stackexchange.com/questions/132886/what-is- this-answer-your-own-question-jazz), które pozwolą ci napisać odpowiedź w tym samym czasie, w którym piszesz swoje pytanie. – Rachel