Есть DataGrid данные заполняются через биндинг:
Содержимое выпадающего списка берется из файла xml и загружается в класс:
public class ProductPit
{
public ProductPit(string prod, double cena, string ediz)
{
Prod = prod;
Cena = cena;
EdIz = ediz;
}
public string Prod { get; set; }
public double Cena { get; set; }
public string EdIz { get; set; }
}
Сам Datagrid биндится из класса:
public class Menu
{
public Menu(string product, double cenaprod, bool subvencia, double kolvoprod, string tippp)
{
Product = product;
CenaProd = cenaprod;
Subvencia = subvencia;
KolvoProd = kolvoprod;
TipPP = tippp;
}
// Наименование продукта - будет задаваться в DataGridComboBoxColumn, заполненного List
Как сделать так чтобы при выборе значения в выпадающем списке первого столбца, во второй столбец подставлялось соответствующее значение из класса ProductPit?
Ответ
Вам нужно переопределить сеттер Product в классе Menu
string product;
public string Product
{
get => product;
set
{
product = value;
CenaProd = ProductPits // - это ваша коллекция, содержащая все ProductPit
.FirstOrDefault(pp => pp.Prod == product)
.Cena;
}
}
Хотя, я считаю, более правильным было бы хранить в классе Menu ссылку на конкретный ProductPit, а Product и CenaProd брать уже из него:
public ProductPit ProductPit { get; set; }
public string Product => ProductPit.Prod;
public double CenaProd => ProductPit.Cena;
Комментариев нет:
Отправить комментарий