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(); } }); }