WPF Q&A

Thread 에서 UI변경 3번째.... hoon 평점: 없음 조회: 306
 아래코그에서  Thread.Sleep(1); 없으면 Ui 변경 작업이 돼지를 않습니다.
 그래서  this.Dispatcher.Invoke 를 사용해서 Thread.Sleep 없이 동작은 하게했는데..

 이번엔 UI 변경을 하는 동안에 다른작업(창 이동이나 다른 기능실행) 을 할수 없습니다.

 그래서 아래 코드를 사용 하려고 여러가지 테스트를 했는데 Thread.Sleep(1) 때문이지
 
this.Dispatcher.Invoke 를 
사용한 화면처리 속도와는 비교도 할수 없을 정도로 느려서 다시 질문 드립니다.



private void myThread_DoWork(object seg,DoWorkEventArgs e)
        {
            int coun = (int)e.Argument;
            for(int i = 1; i < coun; i++)
            {
                if(myThread.CancellationPending)
                {
                    e.Cancel = true;
                    return;
                }
                else
                {
                    Thread.Sleep(1);
                    this.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal,
                                                  (ThreadStart)delegate ()
                                                  {
                                                      if (i % 2 == 0)
                                                      {
                                                          sum += i;
                                                          e.Result = sum;
                                                          listnum.Items.Add(i);
                                                      }
                                                  });
                }
 
                myThread.ReportProgress(i);
            }
 
 
        }
태그 : thread ui
작성자 정보
hoon
Level 27
 [EXP.37/50]

메일:  비공개
글등록 +12 660 덧글등록 +3 47
자기소개
글 공유하기 |
  tweet facebook
2018-06-28 오전 11:36:39
나도한마디
사용자
조지구신            [2018-06-28]
Level 12
 [EXP.11/40]
매번 리스트에 추가할때마다 화면을 갱신하고 싶으신건가요...
사용자
hoon            [2018-06-28]
Level 27
 [EXP.37/50]
네 그렇습니다.
사용자
darkmong            [2018-07-04]
Level 8
 [EXP.6/14]
어떤 구조로 개발하신건지 혹시 코드를 보내주실순 없나요?
태그로 엮인글
글리스트
메인창에서 자식창띄우고 자식창에서 OpenFileDialog 띄우는방법.[2]  왕초보자
timer UI문제[1]+1  왕초보자
스택패널 바깥을 누르면 스택패널 Visible 를 Visible.Collapsed 으로 변경하고 싶습니다.[2]+2  insurang
상대경로 구하기[1]  왕초보자
윈도우와 윈도우, 윈도우와 페이지, 페이지와 페이지간에 데이터 주고받기[4]+1  왕초보자
서브윈도우에서 메인윈도우의 컨트롤을 제어하고 싶습니다[1]  왕초보자
멀티쓰레드? 비동기? 로 새창을 열고싶습니다.[1]+2  왕초보자
새창에서 gif사용[1]  왕초보자
Grid 안에 위치한 TextBox 가 입력된 글자에 의해 Width 가 변합니다...[3]+2  비가와요
Grid에서 페이징처리 궁금한점이 있습니다.[2]+2  방랑이z
 ★현재글->   Thread 에서 UI변경 3번째....[2]+1  hoon
Thread 에서 UI변경 2번째....[2]+1  hoon
Thread 에서 UI변경[1]  hoon
wpf에서 객체 자체를 바인딩[1]  이기현
c# wpf http통신으로 img받아오기[1]  이기현
c# viewModel에서 윈도우 참조질문입니다.[7]+2  이기현
사용자 정의 콘트롤의 DependencyProperty 작동이 잘 안됩니다..[2]+1 파일첨부 비가와요
코드 복사했는데 디자인이 다르네요? ( 파일, 이미지 있음 )[1]+1 파일첨부 insurang
TextBox 의 ToolTip 을 Binding 하는경우 Null 처리는 어떻게 하나요?[1]+4  비가와요
canvas에 타원을 그리는 가장 빠른방법이 궁급합니다.[2]+2  Mines
버튼 템플릿으로 들어간 객체이름을 어떻게 특정하면 되나요?[1]+1  insurang