Я думаю, что вы неправильно истолковываете, что такое привязка, и в вашем примере выражение привязки неполное: ItemsSource="{Binding}"
.
Как вы сказали в своем комментарии, Col1
- это ObservableCollection<MyCollectionClass>
.Интересно было бы увидеть сам класс, но в любом случае.
Когда вы связываете Col1 со своим родительским DataGrid, свойства класса доступны длядочерние элементы управления для привязки (для каждого элемента в вашей коллекции).Если в MyCollectionClass такого свойства Col1 снова нет, вы не можете связать его с внутренней сеткой DataGrid!
Представьте, что у вас есть следующий класс (упрощенный):
public class MyCollectionClass {
public string Firstname { get; set; }
public string Lastname { get; set; }
}
ObservableCollection<MyCollectionClass> Col1;
Затем вы можете связать это следующим образом:
ParentDataGrid: {Binding Col1)
TextBox: {Binding Firstname}
TextBox: {Binding Lastname}
InnerDataGrid: {Binding Col1} // You can't do that
Для каждого экземпляра вашего класса в вашей коллекции в вашей DataGrid будет строка с Имя и Фамилия , поскольку они являются открытыми свойствами класса.Но не с Col1 .