Comment voulez-vous lier à un des objets de cette méthode dans ce scénario dans WPF?
public class RootObject
{
public string Name { get; }
public ObservableCollection<ChildObject> GetChildren() {...}
}
public class ChildObject
{
public string Name { get; }
}
XAML:
<TreeView ItemsSource="some list of RootObjects">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type data:RootObject}"
ItemsSource="???">
<TextBlock Text="{Binding Path=Name}" />
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type data:ChildObject}">
<TextBlock Text="{Binding Path=Name}" />
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
Ici, je veux lier à l' GetChildren
méthode sur chaque RootObject
de l'arbre.
MODIFIER la Liaison à un ObjectDataProvider
semble ne pas fonctionner, parce que je suis de liaison à une liste d'éléments, et l' ObjectDataProvider
des besoins, soit une méthode statique, ou il crée sa propre instance et l'utilise.
Par exemple, à l'aide de Matt réponse que j'obtiens:
Système.De Windows.Erreur de données: 33 : ObjectDataProvider ne peut pas créer d'objet; Type='RootObject'; Erreur='Mauvais paramètres pour le constructeur.'
Système.De Windows.Erreur de données: 34 : ObjectDataProvider: Échec en essayant d'appeler la méthode type; Method='GetChildren'; Type= "RootObject'; Erreur='Le membre spécifié ne peut pas être invoquée sur la cible.' TargetException:'Système.De la réflexion.TargetException: Non méthode statique nécessite une cible.