Use DispatcherTimer to change Dependency Property : Dispatcher « Windows Presentation Foundation « C# / CSharp Tutorial






<Window x:Name="winThis" x:Class="WpfApplication1.Window1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Title="Create a Read-Only Dependency Property" Height="300" Width="300">
    <Grid>
      <Viewbox>
        <TextBlock Text="{Binding ElementName=winThis, Path=Counter}" />
      </Viewbox>
    </Grid>
</Window>

//File:Window.xaml.cs
using System;
using System.Windows;
using System.Windows.Threading;

namespace WpfApplication1
{
    public partial class Window1 : Window
    {
        public Window1()
        {
            InitializeComponent();

            DispatcherTimer timer = 
                new DispatcherTimer(TimeSpan.FromSeconds(1), 
                                    DispatcherPriority.Normal, 
                                    delegate 
                                    {
                                        int newValue = Counter == int.MaxValue ? 0 : Counter + 1;
                                        SetValue(counterKey, newValue); 
                                    }, 
                                    Dispatcher);
        }

        public int Counter
        {
            get { return (int)GetValue(counterKey.DependencyProperty); }
        }

        private static readonly DependencyPropertyKey counterKey = 
            DependencyProperty.RegisterReadOnly("Counter", 
                                                typeof(int), 
                                                typeof(Window1), 
                                                new PropertyMetadata(0));
    }
}
WPF Use Dispatcher Timer To Change Dependency Property








24.124.Dispatcher
24.124.1.Unblock Thread with Dispatcher.BeginInvokeUnblock Thread with Dispatcher.BeginInvoke
24.124.2.DispatcherTimer and EventHandlerDispatcherTimer and EventHandler
24.124.3.Dispatcher.BeginInvoke with DispatcherPriority.NormalDispatcher.BeginInvoke with DispatcherPriority.Normal
24.124.4.Use DispatcherTimer to change Dependency PropertyUse DispatcherTimer to change Dependency Property
24.124.5.Dispatcher ExamplesDispatcher Examples
24.124.6.Using a DispatcherTimerUsing a DispatcherTimer
24.124.7.MailDispatcher and NotifyIconMailDispatcher and NotifyIcon
24.124.8.Using DispatcherTimer to trigger event