DataContext - это наследуемое свойство Dependency, которое означает, что если вы установите его для родительского графического интерфейса, то все дочерние элементы автоматически получат его.
Таким образом, в вашем случае, просто установив контекст данных окна \ пользовательского элемента управления, вы получите menu_employee
, sp_employee
, datagrid_employees
, sp_worksessions
, menu_worksession
и grid_selectedEmployee
(при условии, что они не являются частью любого ItemsControl
), чтобы приобрести его автоматически.
Как только контекст данных получен, достаточно просто отобразить соответствующий объект из контекста данных, используя Binding
и Path
.
Приведенный ниже пример даст вам идею ... (это только для иллюстрации)
<Window ... >
<Menu ItemsSource="{Binding MenuItems}" ... />
<StackPanel>
<DataGrid ItemsSource="{Binding Employees}"/>
<DockPanel DataContext="{Binding SelectedEmployee}">
<TextBlock Text="{Binding Name}"/>
</DockPanel>
</StackPanel>
</Window>
Код позади
public MainWindow()
{
InitializeComponent();
//// Now every item in your `Window` hierarchy above autotmatically gets
//// the data context as the instance of EmployeeViewModel class.
this.DataContext = new EmployeeViewModel();
}
Ниже приведена структура иерархии псевдообъектов вашей модели и модели представления ...
EmployeeViewModel Class
-> Property List<MenuItem> MenuItems
-> Property List<Employee> Employees
-> Property Employee SelectedEmployee
Employee Class
-> Property String Name