private void Configure()
        {
            ylabelCurrentDistrictsSetStr.Text  = ViewModel.ActiveDistrictsSet?.Name ?? "-";
            ylabelSelectedDistrictsSetStr.Text = ViewModel.Entity?.Name ?? "";

            ybuttonActivate.Clicked += async(sender, args) =>
            {
                if (!MessageDialogHelper.RunQuestionDialog($"Переключить базу на версию районов \"{ViewModel.Entity.Name}\""))
                {
                    return;
                }
                try
                {
                    await ViewModel.ActivateAsync();
                }
                catch (Exception ex)
                {
                    Application.Invoke((s, e) => throw ex);
                }
            };

            ytreePrioritiesToDelete.ColumnsConfig = ColumnsConfigFactory.Create <DriverDistrictPriority>()
                                                    .AddColumn("Код").AddTextRenderer(x => x.Id.ToString())
                                                    .AddColumn("Водитель").AddTextRenderer(x => x.DriverDistrictPrioritySet.Driver.ShortName)
                                                    .AddColumn("Старый район").AddTextRenderer(x => x.District.DistrictName)
                                                    .AddColumn("")
                                                    .Finish();

            ViewModel.PropertyChanged += (sender, args) =>
            {
                Application.Invoke((s, e) =>
                {
                    if (args.PropertyName == nameof(ViewModel.ActivationStatus))
                    {
                        ylabelActivationStatus.Text = ViewModel.ActivationStatus;
                    }
                    if (args.PropertyName == nameof(ViewModel.ActivationInProgress) || args.PropertyName == nameof(ViewModel.WasActivated))
                    {
                        ybuttonActivate.Sensitive = !ViewModel.ActivationInProgress && !ViewModel.WasActivated;
                    }
                    if (args.PropertyName == nameof(ViewModel.ActiveDistrictsSet))
                    {
                        ylabelCurrentDistrictsSetStr.Text = ViewModel.ActiveDistrictsSet.Name;
                    }
                    if (args.PropertyName == nameof(ViewModel.NotCopiedPriorities))
                    {
                        ytreePrioritiesToDelete.ItemsDataSource = ViewModel.NotCopiedPriorities;
                    }
                });
            };
        }
        public IngredientsPage()
        {
            InitializeComponent();

            this.WhenActivated(async closer =>
            {
                this.WhenAnyObservable(view => view.ViewModel.Ingredients.ItemChanged)
                .ObserveOn(RxApp.MainThreadScheduler)
                .Where(arg => arg.PropertyName == nameof(DrinkIngredientViewModel.TickSelected))
                .Select(arg => (DrinkIngredientViewModel)arg.Sender)
                .Do(selectedIngredient => ViewModel.SelectedDrinkIngredient = selectedIngredient)
                .Subscribe()
                .DisposeWith(closer);

                if (ViewModel != null)
                {
                    await ViewModel.ActivateAsync();
                }
            });
        }