Gần đây tôi đã bắt đầu lập trình trong WPF và gặp sự cố sau. Tôi không hiểu cách sử dụng Dispatcher.Invoke()
phương pháp. Tôi có kinh nghiệm về phân luồng và tôi đã tạo một vài chương trình Windows Forms đơn giản mà tôi vừa sử dụng
Control.CheckForIllegalCrossThreadCalls = false;
Vâng, tôi biết điều đó khá khập khiễng nhưng đây là những ứng dụng giám sát đơn giản.
Thực tế là bây giờ tôi đang tạo một ứng dụng WPF lấy dữ liệu trong nền, tôi bắt đầu một luồng mới để thực hiện lệnh gọi truy xuất dữ liệu (từ máy chủ web), bây giờ tôi muốn hiển thị nó trên biểu mẫu WPF của mình. Vấn đề là, tôi không thể thiết lập bất kỳ kiểm soát nào từ luồng này. Thậm chí không có nhãn hay bất cứ thứ gì. Vấn đề đó được giải quyết như thế nào?
Trả lời nhận xét:
@Jalfp:
Vì vậy, tôi sử dụng phương pháp Điều phối này trong 'bước đi mới' khi tôi nhận được dữ liệu? Hay tôi nên làm cho một nhân viên chạy nền truy xuất dữ liệu, đặt nó vào một trường và bắt đầu một chuỗi mới đợi cho đến khi trường này được lấp đầy và gọi người điều phối để hiển thị dữ liệu đã truy xuất vào các điều khiển?