J'ai mis mon DataContext
comme ceci:WPF Binding Path =/ne fonctionne pas?
<Window.DataContext>
<c:DownloadManager />
</Window.DataContext>
Où DownloadManager
est Enumerable<DownloadItem>
. Ensuite, je mets mon DataGrid
comme ceci:
<DataGrid Name="dataGrid1" ItemsSource="{Binding Path=/}" ...
Alors qu'il devrait lister tous les DownloadItems, non? Donc, je devrais être en mesure de mettre mes colonnes comme:
<DataGridTextColumn Binding="{Binding Path=Uri, Mode=OneWay}"
Où Uri
est une propriété de la DownloadItem
. Mais ça ne semble pas aimer ça. Dans l'éditeur de propriétés visuelles, il ne reconnaît pas Uri
est une propriété valide, donc je devine que je fais quelque chose de mal.
Cela fonctionnait avant, quand j'avais la liaison de la grille de données à Values
, mais alors j'ai enlevé cette énumérable du DownloadManager
et l'ai rendu énumérable. Comment puis-je réparer ça?
PS: Par "ne fonctionne pas" Je veux dire qu'il ne répertorie aucun élément. J'en ai ajouté au constructeur du DM, donc ça ne devrait pas être vide.
'Path = /' essaie de trouver une propriété de la '' DownloadManager' appelé/'- qui ne va jamais avoir raison. (Si c'était un 'XmlDataSource' vous pourriez utiliser' XPath =/', mais c'est une histoire totalement différente ...) –
@Dan: Ah .. Je viens de choisir" Current Item "dans l'éditeur de propriétés, et c'est ce que ça m'a donné. – mpen
@Dan - Path =/se liera à l'élément actuel dans le DataContext (lorsque DataContext est une collection). Voici une bonne ressource que j'utilise assez souvent en référence aux chemins de liaison: http://www.nbdtech.com/Blog/archive/2009/02/02/wpf-xaml-data-binding-cheat-sheet.aspx –