绑定到当前项(WPF)

Nol*_*rin 4 data-binding wpf listview

我试图将ListView控件绑定到a DataTable,但WPF绑定系统似乎抱怨我指定的绑定路径.

例如,a GridViewColumn定义如下:

<GridViewColumn Header="ColumnTitle" 
 DisplayMemberBinding="{Binding Path=/, 
                        Converter={StaticResource myConverter}}"/>
Run Code Online (Sandbox Code Playgroud)

据我所知(并且MSN似乎支持我),指定Path=/应该对数据集合的当前项进行绑定.

我收到的错误(在跟踪窗口中)是:

System.Windows.Data错误:39:BindingExpression路径错误:''找不到'当前收集项'''OrdersRow'(HashCode = 680171)'.BindingExpression:路径= /; DataItem ='OrdersRow'(HashCode = 680171); target元素是'TextBlock'(Name =''); target属性是'Text'(类型'String')

这给我的印象/甚至不是一个有效的路径,WPF在斜线后期待一些东西.如果是这样,我将如何绑定到当前项目?为什么我首先得到这个错误?

use*_*116 8

您是否尝试省略Path参数?

<GridViewColumn Header="ColumnTitle"
     DisplayMemberBinding="{Binding Converter={StaticResource myConverter}}"/>
Run Code Online (Sandbox Code Playgroud)


Mar*_*ris 4

我认为令人困惑的是 GridViewColumn 的 DataContext 不是顶级集合,但已经是绑定到该列的项目,因此您不需要指定路径。

如果您的控件的 DataContext 是一个列表并且您想要绑定到所选项目,则您可以使用这样的路径。一个可能的例子是。

<Combobox DataContext={Binding ColourList}
          DataSource={Binding} <!--Bind to the datacontext -->
          ForeColor={Binding/} <!--Bind to the currently selected item 
                                   in the datacontext -->
          />
Run Code Online (Sandbox Code Playgroud)