/// <summary> /// Occurs when goBack is initially held down /// </summary> /// <param name="currentObj"></param> /// <param name="goBackDefaultEvent"></param> private void GoBackHold_DeleteItem(DependencyObject currentObj, Autoscan2.DefaultEvents goBackDefaultEvent) { if (currentObj is PhraseButton item) { Scan.PauseScan(true); Scan.GoBackPress += (curObj, gbd) => _deletionTimer.Stop(); _deletionTimer.Elapsed += (s, e) => { this.Dispatcher.Invoke(() => { item.IsSelected = true; }); }; _deletionTimer.Start(); } }
/// <summary> /// what to do when the Autoscan.SelectEvent Occurs /// </summary> /// <param name="currentObj"></param> /// <param name="selectEvent"></param> private void SelectPress(DependencyObject currentObj, Autoscan2.DefaultEvents selectEvent) { switch (currentObj) { case ImageGenButton button: button?.RaiseEvent(new RoutedEventArgs(System.Windows.Controls.Primitives.ButtonBase.ClickEvent)); // how you simulate a button click in code scan.IgnoreSelectPressOnce = true; scan.NewListToScanThough <Panel>(ImagesPanel); break; case StackPanel stack: inMainGrid = false; break; } }
private void GoBackRelease_DeleteItem(DependencyObject currentObj, Autoscan2.DefaultEvents goBackDefaultEvent) { if (!(currentObj is PhraseButton item)) { return; } Scan.IgnoreGoBackPressOnce = true; Scan.PauseScan(false); if (item.ModifyThis()) { Scan.NewListToScanThough <PhraseButton>(items); } else { item.IsSelected = false; } Scan.GoBackPress -= GoBackRelease_DeleteItem; }