public HoldButton() { this.InitializeComponent(); this.Status = HoldButtonStatus.Idle; this.CompletedAnimation.Completed += CompletedAnimation_Completed; this.CanceledAnimation.Completed += CanceledAnimation_Completed; }
private void btnCheckin_PointerEntered(object sender, PointerRoutedEventArgs e) { if (this.Status == HoldButtonStatus.Idle) { this.Status = HoldButtonStatus.Holding; this.Circle.Fill = new SolidColorBrush(Colors.Red); this.topText = ButtonTopText.Text; this.bottonText = ButtonBottomText.Text; this.ButtonTopText.Text = string.Empty; this.ButtonBottomText.Text = string.Empty; this.CheckAnimation.Begin(); } }
private void btnCheckin_PointerReleased(object sender, PointerRoutedEventArgs e) { if (this.Status == HoldButtonStatus.Holding) { this.ButtonTopText.Text = this.topText; this.ButtonBottomText.Text = this.bottonText; if (String.IsNullOrEmpty(ButtonBottomText.Text)) this.ButtonBottomText.Visibility = Visibility.Collapsed; else this.ButtonBottomText.Visibility = Visibility.Visible; this.Status = HoldButtonStatus.Idle; this.Circle.Fill = new SolidColorBrush(Colors.LightPink); this.GiveUpAnimation.Begin(); } }
private void btnCheckin_PointerReleased(object sender, PointerRoutedEventArgs e) { if (this.Status == HoldButtonStatus.Holding) { this.ButtonTopText.Text = this.topText; this.ButtonBottomText.Text = this.bottonText; if (String.IsNullOrEmpty(ButtonBottomText.Text)) { this.ButtonBottomText.Visibility = Visibility.Collapsed; } else { this.ButtonBottomText.Visibility = Visibility.Visible; } this.Status = HoldButtonStatus.Idle; this.Circle.Fill = new SolidColorBrush(Colors.LightPink); this.GiveUpAnimation.Begin(); } }
private async void btnCheckin_Holding(object sender, HoldingRoutedEventArgs e) { switch (e.HoldingState) { case HoldingState.Started: this.Status = HoldButtonStatus.Waiting; this.PulseAnimation.Begin(); break; case HoldingState.Completed: this.CompletedAnimation.Begin(); TTService service = new TTService(); this.ButtonTopText.Text = "waiting"; this.ButtonBottomText.Visibility = Visibility.Collapsed; DateTime? date = await service.CheckInOrOutAsync(); if (date.HasValue) { this.ButtonTopText.Text = "CHECKED"; this.ButtonBottomText.Visibility = Visibility.Visible; this.ButtonBottomText.Text = ((DateTime)date).ToString("HH:mm:ss"); } else { this.CompletedAnimation.Begin(); this.ButtonTopText.Text = "try again"; this.ButtonBottomText.Visibility = Visibility.Collapsed; await Task.Delay(500); if (this.Status == HoldButtonStatus.Waiting) { this.ButtonTopText.Text = this.topText; this.ButtonBottomText.Text = this.bottonText; this.ButtonBottomText.Visibility = Visibility.Visible; } } this.Status = HoldButtonStatus.Idle; break; case HoldingState.Canceled: this.ButtonTopText.Text = this.topText; this.ButtonBottomText.Text = this.bottonText; if (String.IsNullOrEmpty(this.ButtonBottomText.Text)) this.ButtonBottomText.Visibility = Visibility.Collapsed; else this.ButtonBottomText.Visibility = Visibility.Visible; this.Status = HoldButtonStatus.Idle; this.Circle.Fill = new SolidColorBrush(Colors.LightPink); this.CanceledAnimation.Begin(); break; } }
private async void btnCheckin_Holding(object sender, HoldingRoutedEventArgs e) { switch (e.HoldingState) { case HoldingState.Started: this.Status = HoldButtonStatus.Waiting; this.PulseAnimation.Begin(); break; case HoldingState.Completed: this.CompletedAnimation.Begin(); TTService service = new TTService(); this.ButtonTopText.Text = "waiting"; this.ButtonBottomText.Visibility = Visibility.Collapsed; DateTime?date = await service.CheckInOrOutAsync(); if (date.HasValue) { this.ButtonTopText.Text = "CHECKED"; this.ButtonBottomText.Visibility = Visibility.Visible; this.ButtonBottomText.Text = ((DateTime)date).ToString("HH:mm:ss"); } else { this.CompletedAnimation.Begin(); this.ButtonTopText.Text = "try again"; this.ButtonBottomText.Visibility = Visibility.Collapsed; await Task.Delay(500); if (this.Status == HoldButtonStatus.Waiting) { this.ButtonTopText.Text = this.topText; this.ButtonBottomText.Text = this.bottonText; this.ButtonBottomText.Visibility = Visibility.Visible; } } this.Status = HoldButtonStatus.Idle; break; case HoldingState.Canceled: this.ButtonTopText.Text = this.topText; this.ButtonBottomText.Text = this.bottonText; if (String.IsNullOrEmpty(this.ButtonBottomText.Text)) { this.ButtonBottomText.Visibility = Visibility.Collapsed; } else { this.ButtonBottomText.Visibility = Visibility.Visible; } this.Status = HoldButtonStatus.Idle; this.Circle.Fill = new SolidColorBrush(Colors.LightPink); this.CanceledAnimation.Begin(); break; } }