WPF绑定路径= /不工作?

mpe*_*pen 3 c# wpf xaml .net-4.0

我已经设置了DataContext这样的:

<Window.DataContext>
    <c:DownloadManager />
</Window.DataContext>
Run Code Online (Sandbox Code Playgroud)

哪里DownloadManagerEnumerable<DownloadItem>.然后我这样设置DataGrid:

<DataGrid Name="dataGrid1" ItemsSource="{Binding Path=/}" ...
Run Code Online (Sandbox Code Playgroud)

所以它应该列出所有的DownloadItems,对吗?所以我应该能够设置我的列:

<DataGridTextColumn Binding="{Binding Path=Uri, Mode=OneWay}"
Run Code Online (Sandbox Code Playgroud)

哪个Uri属性DownloadItem.但它似乎并不喜欢这样.在可视属性编辑器中,它无法识别Uri是一个有效的属性,所以我猜我做错了什么.

它之前有工作,当我有数据网格绑定Values,但后来我把那个可枚举的东西,DownloadManager并使其自身可枚举.我该如何解决?

PS:"不起作用"我的意思是它没有列出任何项目.我已经在DM的构造函数中添加了一些,所以它不应该是空的.

Dan*_*bić 7

试试ItemsSource="{Binding}".这应该够了.


Met*_*urf 5

为了回应OP关于为什么{Binding}工作的问题,但{Binding Path = /}不起作用,我将添加以下信息作为澄清差异的答案.

以下内容摘自MSDN数据绑定概述>绑定到集合:

当前项目指针

视图还支持当前项目的概念.您可以在集合视图中浏览对象.在导航时,您正在移动项目指针,该指针允许您检索存在于集合中该特定位置的对象.有关示例,请参见如何:在Data CollectionView中浏览对象.

因为WPF仅通过使用视图(您指定的视图或集合的默认视图)绑定到集合,所以对集合的所有绑定都具有当前项指针.绑定到视图时,Path值中的斜杠("/")字符指定视图的当前项.在以下示例中,数据上下文是集合视图.第一行绑定到集合.第二行绑定到集合中的当前项.第三行绑定到集合中当前项的Description属性.

<Button Content="{Binding }" />
<Button Content="{Binding Path=/}" />
<Button Content="{Binding Path=/Description}" />
Run Code Online (Sandbox Code Playgroud)