DispatcherTimer Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 TickdispatcherTimer
eklenir.
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. |