Beispiel #1
0
        private void itemView_Click(object sender, EventArgs e)
        {
            var controlSlider = new FloatViewSliderSwitch(_model);
            var dialogSlider  = new DialogView(controlSlider);

            controlSlider.ManualInputActivate += (o1, e1) =>
            {
                _currentContext.Post((s) =>
                {
                    dialogSlider.Close();
                    var controlManual           = new FloatViewManualSwitch(_model);
                    var dialogManual            = new DialogView(controlManual);
                    controlManual.ApplyClicked += (o2, e2) =>
                    {
                        _model.ScenarioValue = e2.Value;
                        dialogManual.Close();
                    };
                    dialogManual.Show(DialogView.GetDialogHost(this));
                },
                                     null);
            };
            controlSlider.NeedClose += (o1, e1) =>
                                       _currentContext.Post((s) => dialogSlider.Close(), null);
            dialogSlider.Show(DialogView.GetDialogHost(this));
        }
        public InfoView(ScenarioInfo scenario) : this()
        {
            var model = new SwitchScenarioModel(scenario);

            BindingContext = model;

            itemView.Click += (o, e) =>
            {
                var parent = DialogView.GetDialogHost(this);
                InfoViewSwitch.Show(model, parent);
            };
        }
Beispiel #3
0
        private void ItemView_Click(object sender, EventArgs e)
        {
            var dateTime = DateTime.Now;

            DateTime.TryParse(((SwitchScenarioModel)BindingContext).ScenarioValue, out dateTime);
            var dateTimeSwitch = new DateTimeViewSwitch((SwitchScenarioModel)BindingContext)
            {
                DateTime = dateTime
            };
            var dialog = new DialogView(dateTimeSwitch);

            dateTimeSwitch.Apply += (o, args) =>
            {
                dialog.Close();
                ((SwitchScenarioModel)BindingContext).ScenarioValue = dateTimeSwitch.DateTime.ToString();
            };
            dialog.Show(DialogView.GetDialogHost(this));
        }
        private void ItemView_Click(object sender, EventArgs e)
        {
            var model        = (SwitchScenarioModel)BindingContext;
            var statusSwitch = new StatusViewSwitch(model);
            var dialog       = new DialogView(statusSwitch);

            statusSwitch.StateChanged += (o, args) =>
            {
                if (args.Value == ItemView.ClickSource.CloseAnyway)
                {
                    dialog.Close();
                }

                if ((args.Value == ItemView.ClickSource.Tap && model.AcceptedValues.Length <= StatusViewSwitch.NotClosingItemsCount) ||
                    args.Value == ItemView.ClickSource.CloseAnyway)                                                                 // Если количество возможных значений меньше 14,
                {
                    // то при выборе одного из значений закрываем окно.
                    dialog.Close();                                                                                                 // Число подобрано на основе того, сколько строчек вмещается на экран.
                }
            };
            dialog.Show(DialogView.GetDialogHost(this));
        }
 public void SelectSkin(object sender, EventsArgs <SettingsView> sv)
 {
     SkinSelectView.Show(DialogView.GetDialogHost(this));
 }
        private void ItemView_Click(object sender, EventArgs e)
        {
            var model = (SwitchScenarioModel)BindingContext;
            var data  = GeolocationData.FromString(model.ScenarioValue);

            if (data.IsEmpty)
            {
                Controls.MessageView.Show("Данные о геокоординатах пусты...", LazuriteUI.Icons.Icon.MapGps, DialogView.GetDialogHost(this));
            }
            else
            {
                var label = data.DateTime.ToString() + "\r\n" + model.ScenarioName;
                Singleton.Resolve <IGeolocationView>()?
                .View(new Lazurite.Shared.Geolocation(data.Latitude, data.Longtitude, false), label);
            }
        }