在Windows手机中操作滑块时,提高软件响应能力

时间:2013-03-15 10:06:34

标签: windows-phone

我的Windows Phone 7.1项目中有一个滑块。操作时,此滑块会触发一个事件,该事件启动后台工作程序以执行多个三角操作。

如果我将光标移动到滑块上,虽然我在manipstarted事件中实现了后台工作器cancelAsync方法,但我在响应中有一定的延迟,我想要更多的响应,我该如何实现呢?

代码:

   private void sliderCosinus_ManipulationStarted(object sender,ManipulationStartedEventArgs e)
    {
        if (bw.WorkerSupportsCancellation == true)
        {
            bw.CancelAsync();   // Cancel the asynchronous operation.
        }
    }

     private void sldCosinus_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e)
    {
        try
        {
            Value = Convert.ToInt32(sldCosinus.Value) * 10;
        }
        catch
        {
             // errore message here
        }
        finally 
        {
        }
    }
     private void bw_DoWork(object sender, DoWorkEventArgs e)
    {
        BackgroundWorker worker = sender as BackgroundWorker;


            if ((worker.CancellationPending == true))
            {
                e.Cancel = true;
            }
            else
            {
                Dispatcher.BeginInvoke(() => app.IsEffectApplied=TrigonometricTrans()
    // TrigonomtriecTrans calculate sin and cosinus for every pixel in image 
            }
    }
    private void bw_ProgressChanged(object sender, ProgressChangedEventArgs e)
    {
        // progress bar here 
    }
    private void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
        if ((e.Cancelled == true))
        {
            //this.tbProgress.Text = "Canceled!";
        }
        else if (!(e.Error == null))
        {
            //this.tbProgress.Text = ("Error: " + e.Error.Message);
        }
        else
        {
           DoubleBufferToScreen();
        }
    }

0 个答案:

没有答案