我正在尝试将ListView
控件绑定到DataTable
,但WPF绑定系统似乎在抱怨我指定的绑定路径。
例如,GridViewColumn
定义如下:
<GridViewColumn Header="ColumnTitle"
DisplayMemberBinding="{Binding Path=/,
Converter={StaticResource myConverter}}"/>
据我所知(并且MSN似乎支持我),指定Path=/
应该对数据集合的当前项进行绑定。
我收到的错误(在跟踪窗口中)是:
System.Windows.Data错误:39:BindingExpression路径错误:'' '当前收藏品'''OrdersRow'上找不到的物业 (的HashCode = 680171)”。 BindingExpression:路径= /;的DataItem = 'OrdersRow' (的HashCode = 680171); target元素是'TextBlock'(Name ='');目标 property是'Text'(类型'String')
这给我的印象是/
甚至不是一个有效的路径,并且WPF在斜线之后期待某些东西。如果是这样,我将如何绑定到当前项目?为什么我首先得到这个错误?
答案 0 :(得分:7)
您是否尝试省略Path参数?
<GridViewColumn Header="ColumnTitle"
DisplayMemberBinding="{Binding Converter={StaticResource myConverter}}"/>
答案 1 :(得分:3)
我认为混淆是GridViewColumn的DataContext是而不是顶级集合,但是已经是绑定到该列的项目,因此您不需要指定路径。
您可以使用这样的路径的时间是您的控件的DataContext是List并且您想要绑定到所选项目。一个可能的例子是。
<Combobox DataContext={Binding ColourList}
DataSource={Binding} <!--Bind to the datacontext -->
ForeColor={Binding/} <!--Bind to the currently selected item
in the datacontext -->
/>