Здравствуйте, Belowzero, Вы писали:
_FR>>Как быть с чем?
B>Весь вопрос в том, как создавать привязки. Например, я писал так
Код надо выделять тегами
[c#]
B>public class DBRowData
…
[/c#]
Что является ItemsSource для грида? Вот это вот:
ObservableCollection<DBRowData> Data = new ObservableCollection<DBRowData>();
?
Что тогда должно происходить, если разные строки будут содержать разный набор (с разными ключами) данных с словарях? То есть если в первой DBRowData есть Values["A"] и Values["B"], а во второй — Values["B"] и Values["C"]

Что должно происходить, когда во-вторую добавляют Values["D"]? Грид как-нибудь должен реагировать на это?
ИМХО, как-то криво сделана структура данных: на первый взгляд кажется, что её очень просто привести в несогласованное состояние.
Но если ответы на перечисленные выше вопросы есть, то вариантов несколько.
Первый: реализовать в "class DBRowData" интерфейс
ICustomTypeDescriptor. В первую очередь его методы
GetProperties(). "Свойства" для каждой из строк, используемые в механизмах биндинга, будут браться оттуда.
Второй: — читать
Understanding the TypeDescriptor: A Metadata Engine for Designtime Code документацию и пробовать разбираться. Например, сделать свой класс-коллекцию <DBRowData> (например, наследник ObservableCollection<DBRowData>), в котором реализовать интерфейс
ITypedList.