[C# WPF] Bindowanie ItemsSource i DataContext

Cześć

 

Potrzebuje jakiegoś tutoriala który wyjaśni mi jak zrobić coś takiego. 

 

Mam ObservableCollectionList, mam ich kilka. Mam też kilka dataGridów. Chciałbym teraz zabindować do mojego dataGrida tą listę bez Code-Behind albo z bardzo niewielką ilością kodu. Aktualnie mam tak że przy starcie programu, przypisuje do ItemsSource moją listę i tyle.

ZleceniaDataGrid.ItemsSource = _zlecenia; 

Każda z kolumn ma ustawione Binding

<extendedGridControl:ExtendedDataGrid x:Name="ZleceniaDataGrid" AutoGenerateColumns="False" Margin="5,0,5,235" SelectedCellsChanged="SelectedCellsChanged_ZleceniaDataGrid" CanUserAddRows="False" IsReadOnly="True">
       <extendedGridControl:ExtendedDataGrid.Columns>
           <extendedColumn:ExtendedDataGridTextColumn Header="ZlecenieID" x:Name="ZlecenieTabZlecenieIDColumn" Binding="{Binding ZlecenieID}" Visibility="Hidden"/>
           <extendedColumn:ExtendedDataGridTextColumn Header="Numer zlecenia" x:Name="ZlecenieTabNrZleceniaColumn" Binding="{Binding NrZlecenia}" Visibility="Visible"/>
           <extendedColumn:ExtendedDataGridTextColumn Header="Produkt" x:Name="ZlecenieTabProduktColumn" Binding="{Binding ProduktString}" Visibility="Visible"/>
           <extendedColumn:ExtendedDataGridTextColumn Header="Liczba operatorów" x:Name="ZlecenieTabProduktLiczbaOperatorowColumn" Binding="{Binding ProduktLiczbaOperatorowString}" Visibility="Visible"/>
           <extendedColumn:ExtendedDataGridTextColumn Header="Krok produkcji" x:Name="ZlecenieTabProduktKrokProdukcjiColumn" Binding="{Binding ProduktKrokProdukcjiString}" Visibility="Visible"/>
           <extendedColumn:ExtendedDataGridTextColumn Header="Dział" x:Name="ZlecenieTabDzialLiniaColumn" Binding="{Binding DzialString}" Visibility="Visible"/>
           <extendedColumn:ExtendedDataGridTextColumn Header="Linia" x:Name="ZlecenieTabLiniaColumn" Binding="{Binding LiniaString}" Visibility="Visible"/>
           <extendedColumn:ExtendedDataGridTextColumn Header="Czas od" x:Name="ZlecenieTabCzasOdColumn" Binding="{Binding CzasOd}" Visibility="Visible"/>
           <extendedColumn:ExtendedDataGridTextColumn Header="Czas do" x:Name="ZlecenieTabCzasDoColumn" Binding="{Binding CzasDo}" Visibility="Visible"/>
           <extendedColumn:ExtendedDataGridTextColumn Header="Czas trwania" x:Name="ZlecenieTabCzasTrwaniaColumn" Binding="{Binding CzasTrwania}" Visibility="Visible"/>
           <extendedColumn:ExtendedDataGridTextColumn Header="Ilość" x:Name="ZlecenieTabIloscColumn" Binding="{Binding Ilosc}" Visibility="Visible"/>
           <extendedColumn:ExtendedDataGridTextColumn Header="LiniaID" x:Name="ZlecenieTabLiniaIDColumn" Binding="{Binding LiniaID}" Visibility="Hidden"/>
     </extendedGridControl:ExtendedDataGrid.Columns>
</extendedGridControl:ExtendedDataGrid>

Teraz drugi etap. Mam standardowe kontrolki typu TextBox, ComboBox.

 

Teraz jak zaznaczę jakiś wiersz w DataGridzie to do kontrolek TextBox, comboBox przypiszą się wartości z zaznaczonego wiersza, w przypadku ComboBox pokaże się lista wybierana (pracuję na klasach EntityFramework). Oczywiście z najmniejszym nakładem kodu. Aktualnie robię tak że jak wykryję że zmieniło się zaznaczenie to przepisuje property do kontrolek.