WPF C# Tutorial

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   Title="WPF" Width="228" Height="168" >
    
       Start
       
       
    


//File:Window.xaml.cs
using System;
using System.ComponentModel;
using System.Windows;
namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        private BackgroundWorker worker = new BackgroundWorker();
        private long from = 2;
        private long to = 20000;
        private long biggestPrime;
        public Window1() : base()
        {
            InitializeComponent();
            worker.WorkerReportsProgress = true;
            worker.DoWork += new DoWorkEventHandler(worker_DoWork);
            worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);
            worker.ProgressChanged += worker_ProgressChanged;
        }
        private void StartStop_Click(object sender, RoutedEventArgs e)
        {
            worker.RunWorkerAsync();
            btnStartStop.IsEnabled = false;
            txtBiggestPrime.Text = string.Empty;
        }
        private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            btnStartStop.IsEnabled = true;
            txtBiggestPrime.Text = biggestPrime.ToString();
        }
        private void worker_DoWork(object sender, DoWorkEventArgs e)
        {
            for(long current = from; current <= to; current++){
                biggestPrime = current;
                int percentComplete = Convert.ToInt32(((double) current / to) * 100d);
                worker.ReportProgress(percentComplete);
                System.Threading.Thread.Sleep(10);
            }
        }
        private void worker_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            txtPercent.Text = e.ProgressPercentage.ToString() + "%";
        }
    }
}