我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}访问它,那么事情就可以了.但我不能使用静态数据集,因为会有多个实例(多用户).
有谁能指出我正确的方向?