У меня есть 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>
По сути, я пытаюсь привязать заголовок этого столбца к DataTable «Names», столбец «Test», первая строка.
Однако я могу ' я не понял. Обратите внимание, что я могу привязать его за пределами DataGrid. ItemsSource Grid изменяет контекст данных, и я не знаю, как ссылаться на исходный DataContext.
Кажется, что привязка прошла успешно; но проблема в том, что текущий элемент (первая строка) таблиц [Names] в Window.DataContext потерялся.
Если я сделаю DataSet статическим и получу к нему доступ через {x: Static local: dataset}, тогда все заработает хорошо. Но я не могу использовать статические наборы данных, потому что будет несколько экземпляров (многопользовательских).
Кто-нибудь может указать мне правильное направление?