public LabelCellTestViewModel(INavigationService navigationService, IPageDialogService pageDialog) { BackgroundColor.Value = Color.White; PickerTitle.Value = "Hoge"; TimeFormat.Value = "t"; Time.Value = new TimeSpan(12, 0, 0); DateFormat.Value = DateFormats[0]; TodayText.Value = TodayTexts[0]; Date.Value = Dates[0]; MaxDate.Value = MaxDates[0]; MinDate.Value = MinDates[0]; CanExecute.Value = CanExecutes[0]; Commands[0] = CanExecute.ToReactiveCommand(); Commands[1] = CanExecute.ToReactiveCommand(); CommandParameter.Value = Parameters[0]; Command.Value = Commands[0]; Commands[0].Subscribe(async p => { await pageDialog.DisplayAlertAsync("Command1", p?.ToString(), "OK"); await navigationService.NavigateAsync("ContentPage"); }); Commands[1].Subscribe(async p => { await pageDialog.DisplayAlertAsync("Command2", p?.ToString(), "OK"); }); NumberSelectedCommand.Subscribe(async p => { await pageDialog.DisplayAlertAsync("", p.ToString(), "OK"); }); TextSelectedCommand.Subscribe(async p => { await pageDialog.DisplayAlertAsync("", p?.ToString(), "OK"); }); }
void btn_Click(object sender, RoutedEventArgs e) { var btn = (sender as ToggleButton); if (btn == null || btn.Tag == null) { return; } var newNumber = btn.Tag.ToString(); if (SingleClickModeEnabled) { Reset(); int n; if (NumberSelectedCommand != null && Int32.TryParse(newNumber, out n)) { NumberSelectedCommand.Execute(n); } return; } switch (clicksCount) { case 0: case 1: if (clicksCount == 0 && newNumber == "0") { Reset(); return; } if (selectedNumber == newNumber) { btn.Content = selectedNumber + newNumber; btn.IsChecked = true; } selectedNumber += newNumber; clicksCount++; int numb; if (Int32.TryParse(selectedNumber, out numb) && NumberSelectedCommand != null) { NumberSelectedCommand.Execute(numb); } break; default: Reset(); if (NumberSelectedCommand != null) { NumberSelectedCommand.Execute(0); } break; } }