Share via


DispatcherTimer Sınıf

Tanım

Belirli bir zaman aralığında ve belirtilen bir önceliğe göre işlenen kuyruğa tümleştirilmiş Dispatcher bir zamanlayıcı.

public ref class DispatcherTimer
public class DispatcherTimer
type DispatcherTimer = class
Public Class DispatcherTimer
Devralma
DispatcherTimer

Örnekler

Aşağıdaki örnek, içeriğini DispatcherTimer güncelleştiren ve üzerinde CommandManageryöntemini çağıran InvalidateRequerySuggested bir Label oluşturur.

DispatcherTimer adlı dispatcherTimer bir nesne oluşturulur. Olay işleyicisi dispatcherTimer_Tick olayına TickdispatcherTimereklenir. Interval nesnesi kullanılarak TimeSpan 1 saniye olarak ayarlanır ve zamanlayıcı başlatılır.

//  DispatcherTimer setup
dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = TimeSpan.FromSeconds(1);
dispatcherTimer.Start();
'  DispatcherTimer setup
dispatcherTimer = New Threading.DispatcherTimer()
AddHandler dispatcherTimer.Tick, AddressOf dispatcherTimer_Tick
dispatcherTimer.Interval = New TimeSpan(0,0,1)
dispatcherTimer.Start()

Olay işleyicisi Tick geçerli saniyeyi görüntüleyen bir Label öğesini güncelleştirir ve üzerinde CommandManageröğesini çağırırInvalidateRequerySuggested.

//  System.Windows.Threading.DispatcherTimer.Tick handler
//
//  Updates the current seconds display and calls
//  InvalidateRequerySuggested on the CommandManager to force 
//  the Command to raise the CanExecuteChanged event.
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
    // Updating the Label which displays the current second
    lblSeconds.Content = DateTime.Now.Second;

    // Forcing the CommandManager to raise the RequerySuggested event
    CommandManager.InvalidateRequerySuggested();
}
'  System.Windows.Threading.DispatcherTimer.Tick handler
'
'  Updates the current seconds display and calls
'  InvalidateRequerySuggested on the CommandManager to force 
'  the Command to raise the CanExecuteChanged event.
Private Sub dispatcherTimer_Tick(ByVal sender As Object, ByVal e As EventArgs)
    ' Updating the Label which displays the current second
    lblSeconds.Content = Date.Now.Second

    ' Forcing the CommandManager to raise the RequerySuggested event
    CommandManager.InvalidateRequerySuggested()
End Sub

Açıklamalar

DispatcherTimer her döngünün en üstünde Dispatcher yeniden değerlendirilir.

Süreölçerlerin tam olarak zaman aralığı gerçekleştiğinde yürütülmesi garanti değildir, ancak zaman aralığı gerçekleşmeden önce yürütülmeyecekleri garanti edilir. Bunun nedeni DispatcherTimer , işlemlerin Dispatcher diğer işlemler gibi kuyruğa yerleştirilmesidir. DispatcherTimer İşlem yürütülürken kuyruktaki diğer işlere ve bunların önceliklerine bağımlıdır.

bir System.Timers.Timer WPF uygulamasında kullanılıyorsa, kullanıcı arabirimi (UI) iş parçacığından farklı bir iş parçacığında çalıştırıldığını System.Timers.Timer belirtmek önemlidir. Kullanıcı arabirimi (UI) iş parçacığındaki nesnelere erişmek için, veya kullanarak InvokeBeginInvokeişlemi Dispatcher kullanıcı arabirimi (UI) iş parçacığına göndermek gerekir. 'nin System.Timers.Timer aksine bir DispatcherTimer kullanmanın nedenleri, DispatcherTimer ve DispatcherPriority ile aynı iş parçacığında Dispatcher çalıştırılarak üzerinde ayarlanabilmesidirDispatcherTimer.

Bir DispatcherTimer nesnenin yöntemleri zamanlayıcıya bağlı olduğunda nesneyi canlı tutar.

Oluşturucular

DispatcherTimer()

DispatcherTimer sınıfının yeni bir örneğini başlatır.

DispatcherTimer(DispatcherPriority)

Belirtilen önceliğe sahip zamanlayıcı olaylarını işleyen sınıfının yeni bir örneğini DispatcherTimer başlatır.

DispatcherTimer(DispatcherPriority, Dispatcher)

Belirtilen önceliğe göre belirtilen Dispatcher üzerinde çalışan sınıfının yeni bir örneğini DispatcherTimer başlatır.

DispatcherTimer(TimeSpan, DispatcherPriority, EventHandler, Dispatcher)

Belirtilen zaman aralığını, önceliği, olay işleyicisini ve Dispatcherkullanan sınıfının yeni bir örneğini DispatcherTimer başlatır.

Özellikler

Dispatcher

bu DispatcherTimerile ilişkili öğesini Dispatcher alır.

Interval

Süreölçer işaretlerinin arasındaki süreyi alır veya ayarlar.

IsEnabled

Zamanlayıcının çalışıp çalışmadığını belirten bir değer alır veya ayarlar.

Tag

Kullanıcı tanımlı bir veri nesnesi alır veya ayarlar.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
Start()

öğesini DispatcherTimerbaşlatır.

Stop()

öğesini DispatcherTimerdurdurur.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Ekinlikler

Tick

Süreölçer aralığı geçtiğinde gerçekleşir.

Şunlara uygulanır