UPD. Нашел более адекватное решение проблемы:
public CPU_window()
{
InitializeComponent();
DG_CPU.SelectionMode = DataGridSelectionMode.Extended;
//DG_CPU.SelectionChanged += (sender, args) =>
// MainWindow.mw.CPU_Name_lbl.Content = DG_CPU.CurrentCell.Column.GetCellContent(DG_CPU.CurrentCell.Item);
DG_CPU.SelectionChanged += (sender, args) =>
{
MainWindow.mw.CPU_Vender_lbl.Content = string.Format("Vender is: {0}",
(DG_CPU.SelectedItem as CPU).Vendor);
MainWindow.mw.CPU_Name_lbl.Content = string.Format("Name is: {0}", (DG_CPU.SelectedItem as CPU).Name);
MainWindow.mw.CPU_Price_lbl.Content = (DG_CPU.SelectedItem as CPU).Price;
};
up.Click += (sender, args) => (DG_CPU.SelectedItem as CPU).Price++;
}
Основная фишка заключается в том, что следует приводить свойство
SelectedItem вашего
datagrid к классу таблицы описанной в модели( в моём случае я выбирал Linq to SQL и по этому имя таблицы в sql идентично имени в классе таблицы C#), свойства которой идентичны названиям колонок таблицы.