## Каркас приложения. Модель данных. Привязка данных. Табличный вывод. Файл класса: ``` public class ProductCategory { public string title { get; set; } } public class ProductPrice { public string title { get; set; } public int priceFrom { get; set; } public int priceTo { get; set; } } public class ProductCompany { public string title { get; set; } } interface IDataProvider { IEnumerable GetProducts(); IEnumerable GetCategories(); IEnumerable GetPrices(); IEnumerable GetCompanies(); } ``` ``` public IEnumerable GetCategories() { return new ProductCategory[] { new ProductCategory {title = "Смартфон"}, new ProductCategory {title = "Ноутбук"}, new ProductCategory {title = "Смарт-Часы"}, new ProductCategory {title = "Монитор"} }; } public IEnumerable GetPrices() { return new ProductPrice[] { new ProductPrice{title="Все цены", priceFrom = 0, priceTo = 999999}, new ProductPrice{title="До 10.000", priceFrom = 0, priceTo = 10000}, new ProductPrice{title="От 10.000 до 20.000", priceFrom = 10000, priceTo = 20000}, new ProductPrice{title="От 20.000 до 50.000", priceFrom = 20000, priceTo = 50000}, new ProductPrice{title="Дороже 50.000", priceFrom = 50000, priceTo = 999999 } }; } public IEnumerable GetCompanies() { return new ProductCompany[] { new ProductCompany{title = "Apple"}, new ProductCompany{title = "Xiaomi"}, new ProductCompany{title = "Huawei"}, new ProductCompany{title = "POCO"}, new ProductCompany{title = "Asus"}, new ProductCompany{title = "Lenovo"}, new ProductCompany{title = "Samsung"} }; } ``` XAML: ```