Яка різниця між ItemsSource і DataContext у WPF DataGrid?
З точки зору Властивість ItemsSource в основному використовується для створення шаблону, незалежно від того, чи встановлено ви його в XAML або в коді позаду. DataContext в основному використовується для зберігання загальних даних, якими хочуть поділитися інші діти. Таким чином, він може бути успадкований іншими дочірніми елементами без проблем. 29 вересня 2012 р
Як бачите, DataContext застосовується до текстових блоків, які існують у StackPanel і посилаються на одну єдину властивість, якою є Text. Тоді як ItemsSource посилається на Source властивості Image and Text текстового блоку, а елементи всередині списку можна розширити разом із ObservableCollection.
Поширеним сценарієм є використання ItemsControl, наприклад ListBox, ListView або TreeView, для відображення колекції даних або для прив’язки ItemsControl до об’єкта колекції. Щоб зв’язати ItemsControl з об’єктом колекції, використовуйте властивість ItemsSource. Зауважте, що властивість ItemsSource за замовчуванням підтримує прив’язку OneWay.
Корисно використовувати властивість DataContext для батьківського елемента коли ви прив’язуєте кілька властивостей до одного джерела. Однак інколи може бути доцільніше вказати джерело прив’язки в окремих оголошеннях прив’язки.
Більшість прив’язок, які ви бачите в зразках, мають встановлені властивості Джерело та Шлях. Властивість Source визначає об’єкт, до якого ви прив’язуєтеся, а Path визначає властивість цього об’єкта, значення якого вас цікавить.
DbContext використовується для EF (EntityFramework), а DataContext використовується для L2S (LINQ To SQL).