private void btnProceed_Click(object sender, System.Windows.RoutedEventArgs e) { // hide the controls once the training of the sign begins. lblTitle.Visibility = Visibility.Hidden; btnBack.Visibility = Visibility.Hidden; btnProceed.Visibility = Visibility.Hidden; lblProcessing.Visibility = Visibility.Visible; this.timer = new DispatcherTimer { IsEnabled = true, Interval = TimeSpan.FromSeconds(1) }; timer.Tick += OnTimerEvent; timer.Start(); trainingCommand = new AsyncDelegateCommand(action: CreateSignModel); trainingCommand.Execute(null); }
private void btnSave_Click(object sender, System.Windows.RoutedEventArgs e) { if(txtBoxSignName.Text == "") { MessageBox.Show("The sign name cannot be empty.", "Invalid sign name", MessageBoxButton.OK, MessageBoxImage.Error); } else { MessageBoxResult result = MessageBox.Show("Are you sure that you wish to save changes?", "Are you sure?", MessageBoxButton.YesNoCancel, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { File.Delete(filePath); // check if we need to re-train the model if(examples == null) { // if we don't no need to show processing label UpdateSignTextDetails(); Sign.ToFile(sign); Switcher.Switch(new SignManager()); } else { // Re-train the model, so show processing label // Hide all the other controls lblTitle.Visibility = Visibility.Hidden; btnSave.Visibility = Visibility.Hidden; btnBack.Visibility = Visibility.Hidden; lblSignName.Visibility = Visibility.Hidden; txtPictureURL.Visibility = Visibility.Hidden; btnPicUpload.Visibility = Visibility.Hidden; txtVideoURL.Visibility = Visibility.Hidden; btnVidUpload.Visibility = Visibility.Hidden; lblPicturePath.Visibility = Visibility.Hidden; lblVideoPath.Visibility = Visibility.Hidden; lblSignClassOutput.Visibility = Visibility.Hidden; lblSignClass.Visibility = Visibility.Hidden; txtBoxSignName.Visibility = Visibility.Hidden; btnAddExamples.Visibility = Visibility.Hidden; btnChangeClass.Visibility = Visibility.Hidden; lblNewExampleCount.Visibility = Visibility.Hidden; // Display processing label as it takes some time to append the training examples lblProcessing.Visibility = Visibility.Visible; this.timer = new DispatcherTimer { IsEnabled = true, Interval = TimeSpan.FromSeconds(1) }; timer.Tick += OnTimerEvent; timer.Start(); trainingCommand = new AsyncDelegateCommand(action: CreateSignModel); trainingCommand.Execute(null); } } else if (result == MessageBoxResult.No) { Switcher.Switch(new SignManager()); } } }