Event Dispatcher Timer : Thread « Data « Silverlight






Event Dispatcher Timer

Event Dispatcher Timer
    

<UserControl x:Class='SilverlightApplication3.MainPage'
    xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' 
    xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'
    xmlns:d='http://schemas.microsoft.com/expression/blend/2008' 
    xmlns:mc='http://schemas.openxmlformats.org/markup-compatibility/2006' 
    mc:Ignorable='d' 
    d:DesignWidth='640' 
    d:DesignHeight='480'>

    <Grid x:Name="LayoutRoot" Background="White" ShowGridLines="True">
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition />
        </Grid.RowDefinitions>

        <StackPanel Grid.Column="0"
                    Grid.Row="0" 
                    HorizontalAlignment="Left">

            <TextBlock x:Name="tbElapsedTime"
                   FontSize="10"
                   Text="0"/>

            <Button x:Name="btnStart"
                Content="Start"
                Height="20"
                Width="100"
                Click="btnStart_Click" />

            <Button x:Name="btnStop"
                Content="Stop"
                Height="20"
                Width="100"
                Click="btnStop_Click" />

            <Button x:Name="btnReset"
                Content="Reset" 
                Height="20"
                Width="100" 
                Click="btnReset_Click" />

        </StackPanel>

    </Grid>

</UserControl>

//File: Page.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Threading;

namespace SilverlightApplication3
{
    public partial class MainPage : UserControl
    {
        DispatcherTimer timer = new DispatcherTimer();

        public MainPage()
        {
            InitializeComponent();

            timer.Interval = new TimeSpan(0, 0, 1);
            timer.Tick += new EventHandler(timer_Tick);
        }

        void timer_Tick(object sender, EventArgs e)
        {
            int currentElapsedSeconds = int.Parse(tbElapsedTime.Text);
            currentElapsedSeconds++;
            tbElapsedTime.Text = currentElapsedSeconds.ToString();
        }

        private void btnStart_Click(object sender, RoutedEventArgs e)
        {
            timer.Start();
        }

        private void btnStop_Click(object sender, RoutedEventArgs e)
        {
            timer.Stop();
        }

        private void btnReset_Click(object sender, RoutedEventArgs e)
        {
            tbElapsedTime.Text = "0";
        }

    }
}

   
    
    
    
  








Related examples in the same category

1.Updating the UI from a Background ThreadUpdating the UI from a Background Thread
2.Implementing Threading in Silverlight ApplicationsImplementing Threading in Silverlight Applications
3.Implementing the DoWork eventImplementing the DoWork event
4.Reporting progress changes from the BackgroundWorkerReporting progress changes from the BackgroundWorker
5.Handling the completion of the background taskHandling the completion of the background task
6.No Background WorkerNo Background Worker
7.Canceling a BackgroundWorker when a user selects the Escape keyCanceling a BackgroundWorker when a user selects the Escape key
8.Event Dispatcher with ThreadEvent Dispatcher with Thread