小编vud*_*duy的帖子

绑定到当前ItemsSource上下文之外的DataContext

DataSet有义务Window.DataContext; 我还有一个DataGrid:

<DataGrid ItemsSource={Binding Tables[Items]}>
    <DataGrid.Columns>
        <DataGridTextBoxColumn Header={Binding Path=DataContext.Tables[Names]/Test, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}} />
    </DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

基本上,我正在尝试将该列的Header绑定到DataTable"Names",列"Test",第一行.

但是,我无法做到对.请注意,我可以在DataGrid外部绑定它.Grid的ItemsSource更改了数据上下文,我不知道如何在外部引用原始DataContext.

似乎绑定成功了; 但问题是Window.DataContext中Tables [Names]的当前项(第一行)丢失了.

如果我使DataSet静态并通过{x:Static local:dataset}访问它,那么事情就可以了.但我不能使用静态数据集,因为会有多个实例(多用户).

有谁能指出我正确的方向?

data-binding wpf datagrid relativesource itemssource

8
推荐指数
2
解决办法
1万
查看次数