Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Задумка такая. Это методы ViewCell. Она должна знать свой биндинг-контекст. Я его пытаюсь получить, понять что за конкретно вьюмодель у меня. И вызываю цепь методов (пока что два). Если какой-то вернул не нулл - там куча условий снаружи оборвут процедуру и радостно вернут грид
- // всё очень плохо, я уже не знал что делать
- private Grid TryCreateOrderGridByViewModel(TransportCompanyItemViewModelBase viewModel)
- {
- var orderViewModel = viewModel as OrderTransportCompanyItemViewModel;
- if (orderViewModel == null)
- {
- return null;
- }
- var grid = CreateBasicGrid();
- grid.Children.Add(CreateRatingImage(), 0, 0);
- grid.Children.Add(CreatePriceLabel(), 1, 0);
- grid.Children.Add(CreateDeliveryEstimateLabel(), 2, 0);
- var makeOrderButton = new Button()
- {
- Text = "Заказать",
- HorizontalOptions = LayoutOptions.FillAndExpand
- };
- makeOrderButton.SetBinding(Button.CommandProperty, new Binding("CreateOrderCommand"));
- grid.Children.Add(CreateDeliveryEstimateLabel(), 3, 0);
- return grid;
- }
- private Grid TryCreateCalculatorGridByViewModel(TransportCompanyItemViewModelBase viewModel)
- {
- var calculatorViewModel = viewModel as CalculatorTransportCompanyItemViewModel;
- if (calculatorViewModel == null)
- {
- return null;
- }
- var grid = CreateBasicGrid();
- grid.Children.Add(CreateRatingImage(), 0, 0);
- grid.Children.Add(CreatePriceLabel(), 1, 0);
- grid.Children.Add(CreateDeliveryEstimateLabel(), 2, 0);
- return grid;
- }
Advertisement
Add Comment
Please, Sign In to add comment