我试图将ListView
控件绑定到DataTable
,但是WPF绑定系统似乎在抱怨我指定的绑定路径。
例如,GridViewColumn
定义如下:
<GridViewColumn Header="ColumnTitle"
DisplayMemberBinding="{Binding Path=/,
Converter={StaticResource myConverter}}"/>
据我了解(MSN似乎支持我),指定
Path=/
应该在数据收集的当前项目上进行绑定。我收到的错误(在跟踪窗口中)是:
System.Windows.Data错误:39:BindingExpression路径错误:''
在“集合的当前项目”“ OrdersRow”上找不到属性
(HashCode = 680171)”。 BindingExpression:Path = /; DataItem ='OrdersRow'
(HashCode = 680171);目标元素是'TextBlock'(Name ='');目标
属性为“文本”(类型为“字符串”)
这给我的印象是
/
甚至不是有效的路径,并且WPF期望在斜线之后有一些内容。如果是这样,我将如何绑定到当前项目?为什么我首先遇到此错误? 最佳答案
我认为混乱之处在于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 -->
/>