0

J'ai un usercontrol où je besoin d'une liste d'une classe simple que je l'ai fait, appelé personne:liaison à la collecte observable, propriété de dépendance échoue

public class Person { 
    public string Name { get; set; } 
} 

maintenant dans le usercontrol, je dois avoir un ObservableCollection <Personne> à laquelle je peux me lier. Donc je suppose que je dois en faire une propriété de dépendance. Ainsi, dans le usercontrol je donne les résultats suivants:

public static readonly DependencyProperty PersonsDependencyProperty = 
    DependencyProperty.Register("Persons", typeof(ObservableCollection<Person>), 
           typeof(PersonUserControl)); 

Et la propriété est comme ceci:

public ObservableCollection<Person> Persons 
{ 
    get 
    { 
     return (ObservableCollection<Person>)GetValue(PersonsDependencyProperty); 
    } 
    set 
    { 
     SetValue(PersonsDependencyProperty, value); 
    } 
} 

Maintenant, dans mon codebehind de MainWindow.xaml je fais une ObservableCollection <Personne> appelé PersonList, définissez la fenêtre principale datacontext à soi-même, et se lient à elle comme ceci:

<Local:PersonUserControl Persons="{Binding PersonList}"> 
</Local:PersonUserControl> 

et je reçois l'erreur: Exception a été levée par la cible de une invocation. - Pas d'explication supplémentaire. Quelqu'un peut-il me dire comment réagir ou ce que je fais de mal?

J'espère que je suis assez clair.

+0

Pouvez-vous publier la trace de pile et aussi les exceptions internes le cas échéant? En passant, vous devriez nommer votre propriété en tant que 'PersonsProperty' donc il devrait être' public static readonly DependencyProperty PersonsDependencyProperty' – nemesv

+0

Pouvez-vous s'il vous plaît montrer votre code de fichier xaml.cs – ethicallogics

Répondre

0

PersonsDependencyProperty devrait être juste PersonsProperty. Difficile de dire si c'est la cause sous-jacente sans plus d'informations, mais c'est certainement un problème. WPF ajoute "Property" sur le chemin de liaison afin de trouver la propriété de dépendance associée. Ainsi, il ne trouvera pas le vôtre.

Questions connexes