Trong WPF do sự phức tạp về cách giao diện được cập nhật, đôi khi tôi phải thực hiện các hành động sau một thời gian trễ ngắn.Gửi văn bản bị trì hoãn?
Hiện nay tôi đang làm điều này chỉ đơn giản bằng cách: (?)
var dt = new DispatcherTimer(DispatcherPriority.Send);
dt.Tick += (s, e) =>
{
dt.Stop();
//DoStuff
};
dt.Interval = TimeSpan.FromMilliseconds(200);
dt.Start();
Nhưng đó là cả một chút xấu xí và có lẽ quá nhiều chi phí để tạo ra một bộ đếm thời gian mới mỗi lần gì tốt nhất từ một quan điểm hiệu suất để làm điều đó, tức là thực hiện nhanh nhất? Và cách tốt để viết lại đoạn code trên vào một cái gì đó như là những gì:
this.Dispatcher.BeginInvoke(new Action(delegate()
{
//DoStuff
}), DispatcherPriority.Send,TimeSpan.FromMilliseconds(200));
đâu Khoảng thời gian là sự chậm trễ, Cảm ơn bạn cho bất kỳ đầu vào :)
Thay vì chờ đợi cho một cái gì đó trước khi cập nhật, bạn không thể di chuyển trách nhiệm để cập nhật giao diện người dùng cho nội dung bạn đang đợi? Điều này sẽ tránh hẹn giờ. – x0n
không may là không, đó là những thứ giống như cập nhật ui và ẩn nó sau một khoảng thời gian ngắn nên cửa sổ được cập nhật khi nó được hiển thị trở lại – Homde