我已经按照以下方式设置了我的DataContext
:
<Window.DataContext>
<c:DownloadManager />
</Window.DataContext>
在这里,DownloadManager
是一个 Enumerable<DownloadItem>
。然后我像这样设置了我的 DataGrid
:
<DataGrid Name="dataGrid1" ItemsSource="{Binding Path=/}" ...
所以它应该列出所有的DownloadItems,对吧?那么我应该能够设置我的列,比如:
<DataGridTextColumn Binding="{Binding Path=Uri, Mode=OneWay}"
Uri
是DownloadItem
的一个属性。但是它似乎不喜欢这个。在可视化属性编辑器中,它无法识别Uri
作为有效属性,所以我猜我做错了什么。
之前它是可以工作的,当我将数据网格绑定到Values
时,但后来我将可枚举对象从DownloadManager
中取出并使其本身可枚举。我该怎么解决这个问题?
PS:通过“不起作用”,我的意思是它没有列出任何项目。我已经在DM的构造函数中添加了一些内容,所以它不应该为空。
Path=/
尝试查找名为/
的DownloadManager
属性 - 这永远不会是正确的。(如果它是一个XmlDataSource
,你可以使用XPath=/
,但那是另外一个故事...) - Dan Puzey{Binding}
可以工作,但{Binding Path=/}
不能工作呢? - mpen