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, öğesinin içeriğini güncelleştiren ve üzerinde DispatcherTimeryöntemini çağıran Label bir InvalidateRequerySuggestedCommandManager 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 InvalidateRequerySuggestedöğesini çağırırCommandManager.

//  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ığı oluştuğunda yürütülmesi garanti edilmemektedir, 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.

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

Bir DispatcherTimer nesnenin yöntemleri zamanlayıcıya bağlı olduğunda nesnenin canlı kalmasını sağlar.

Oluşturucular

Name Description
DispatcherTimer()

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

DispatcherTimer(DispatcherPriority, Dispatcher)

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

DispatcherTimer(DispatcherPriority)

Zamanlayıcı olaylarını belirtilen önceliğe göre işleyen 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 DispatcherTimerkullanan sınıfının yeni bir örneğini Dispatcher başlatır.

Özellikler

Name Description
Dispatcher

bu Dispatcherile ilişkilendirilmiş öğesini DispatcherTimer alır.

Interval

Süreölçer onay işaretleri 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ı veri nesnesini alır veya ayarlar.

Yöntemler

Name Description
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()

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

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

Geçerli Objectbasit bir kopyasını oluşturur.

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

DispatcherTimeröğesini başlatır.

Stop()

öğesini DispatcherTimerdurdurur.

ToString()

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

(Devralındığı yer: Object)

Ekinlikler

Name Description
Tick

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

Şunlara uygulanır