Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Đa luồng WPF

13:29 05-10-2021 671 lượt xem 7 bình luận

Dạ e chào mọi người ạ

Hiện tại e đang vướng đa luồng bên vòng lặp ạ 

E lâp trình có vòng lặp liên lục nhưng khi chạy chỉ chạy đúng 1 lần, và chỉ khi khởi lại command mới thì mới khởi tạo lại thôi ạ 

Dạ hiện cụ thể e đang bị lỗi như thế này ạ 

https://www.youtube.com/watch?v=RBnV4i5051o

Code ViewModel ạ 

 


namespace QuanLyKho.ViewModel
{
    public class MainViewModel : BaseViewModel
    {

                 
        private string _TimeDevice1;
        public string TimeDevice1 { get => _TimeDevice1; set { _TimeDevice1 = value; OnPropertyChanged(); } }


  
        
        public ICommand HomeCommand { get; set; }


      

        // mọi thứ xử lý sẽ nằm trong này


        public MainViewModel()
        {


            void Delay(int delay)
            {
                while (delay > 0)
                {
                    Thread.Sleep(TimeSpan.FromSeconds(1)); 
                }
            }

            void TLC()
            {
                Task t = new Task(() =>
                {
                    while (true)
                    {

                        TimeDevice1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                        Delay(5);

                    }
                 
                    
                });
                t.Start();
            }

            

            HomeCommand = new RelayCommand<object>((p) => { return true; }, (p) =>

            {
                    
                    Task t1 = new Task(() => {
                          TLC();
                    });
                    t1.Start();                

            });


        }
    }
}

Mong mọi người giúp đỡ e với ạ. 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Supporter Moderator đã bình luận 14:31 05-10-2021

Bạn đặt Debug thử chưa?

 

Câu hỏi mới nhất