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