private async void Test2_Click(object sender, RoutedEventArgs e)
        {
            source = new CancellationTokenSource();
            CancellationToken token = source.Token;

            SourcePausa = new PauseTokenSource();
            PauseToken tokenpausa = SourcePausa.Token;

            Test1.IsEnabled     = false;
            Test2.IsEnabled     = false;
            Pausa.IsEnabled     = true;
            Continuar.IsEnabled = true;
            Cancelar.IsEnabled  = true;
            Texto.Text          = "Se esta ejecutando un proceso muy largo";
            Progreso.Visibility = Visibility.Visible;
            bool b = await Task.Run(() => ProcesoMuyLargo(tokenpausa), token);

            if (b)
            {
                Texto.Text = "Se termino de ejecutar un proceso muy largo normalmente";
            }
            else
            {
                Texto.Text = "Se termino de ejecutar un proceso muy largo cancelado";
            }
            Test1.IsEnabled     = true;
            Test2.IsEnabled     = true;
            Pausa.IsEnabled     = false;
            Continuar.IsEnabled = false;
            Cancelar.IsEnabled  = false;
            Progreso.Visibility = Visibility.Hidden;
        }
示例#2
0
 internal PauseToken(PauseTokenSource source)
 {
     m_source = source;
 }