2010-07-16 41 views
23

Tôi đang cố gắng viết ứng dụng giành chiến thắng trên điện thoại 7 lần đầu tiên - có điều khiển hẹn giờ tương tự như đối tượng dành cho winform không? Hoặc có cách nào để có được loại chức năng đó không?Có điều khiển hẹn giờ cho Windows Phone 7 không?

Trả lời

46

Bạn có thể sử dụng System.Windows.Threading.DispatcherTimer.

System.Windows.Threading.DispatcherTimer dt = new System.Windows.Threading.DispatcherTimer(); 
dt.Interval = new TimeSpan(0, 0, 0, 0, 500); // 500 Milliseconds 
dt.Tick += new EventHandler(dt_Tick); 
dt.Start(); 

void dt_Tick(object sender, EventArgs e) 
{ 
     // Do Stuff here. 
} 
7

DispatchTimer là một lựa chọn tốt như là Bộ hẹn giờ.

Điều đáng để làm quen với sự khác biệt và đánh giá phù hợp hơn với bạn.

Tiện lợi (DispatchTimer cho cập nhật giao diện người dùng) hoặc Độ chính xác (Bộ đếm thời gian cho khả năng dự đoán) là mấu chốt của quyết định.

Timer Class (System.Threading)

DispatcherTimer Class (System.Windows.Threading)

Các DispatcherTimer được đánh giá lại tại đầu mỗi vòng lặp DispatcherTimer.

Bộ hẹn giờ không được bảo đảm thực hiện chính xác khi khoảng thời gian xảy ra, nhưng chúng được đảm bảo không thực hiện trước khi khoảng thời gian xảy ra. Điều này là do các hoạt động của DispatcherTimer được đặt trên hàng đợi DispatcherTimer như các hoạt động khác. Khi hoạt động của DispatcherTimer thực hiện là phụ thuộc vào các công việc khác trong hàng đợi và mức độ ưu tiên của chúng.

Nếu một System.Threading.Timer được sử dụng, nó đáng chú ý là Timer chạy trên một sợi khác nhau sau đó người sử dụng giao diện (UI) chủ đề. Để truy cập các đối tượng trên chuỗi giao diện người dùng, nó là cần thiết để đăng hoạt động lên DispatcherTimer của chuỗi giao diện người dùng bằng Dispatcher.BeginInvoke. Đây là không cần thiết khi sử dụng DispatcherTimer.

Các vấn đề liên quan