2010-05-10 2 views
1

나는 드래그 가능한 탭이있는 탭 컨트롤을 가지고 있습니다. 마우스를 놓으면 tabControl에서 선택한 탭이 제거되고 새 위치에 추가됩니다. 내 문제는 탭을 제거한 후에 TabControl 자체를 그립니다. 그리고 탭을 추가 할 때 다시 이동하여 탭 뒤쪽의 탭을 표시하는 매우 눈에 띄는 깜박임이 있음을 알 수 있습니다.WPF - UI 스레드 일시 중지?

제거 및 삽입 작업이 완료 될 때까지 탭 컨트롤이 다시 그리지 않도록 UI 스레드를 일시 중지 할 수있는 방법이 있습니까? 아니면 탭 항목을 다시 배열하는 다른 방법이 있을까요? 끌기/놓기 작업이 연결된 코드로 별도의 코드 파일에 존재합니다.

답변

0

실제로 내 문제는 드래그/드롭과 전혀 관련이 없음을 발견했습니다. 이것은 TabControl의 SelectionChanged 이벤트에서 실행되어 추가되거나 제거 될 때 탭을 다시 그리게하는 함수였습니다.

0

끌기가 완료되면 탭을 제거/다시 삽입 할 수 있습니까?

끌어서 놓기 기능을 사용하여 이미지를 렌더링하는 동안 꾸미기를 사용한다고 가정합니다. dragstarted/dragfinished 이벤트를들을 수 있다면 항목이 드래그되는 동안 트리 뷰에 아무 것도하지 않고 드래그가 완료되면 탭을 제거/다시 삽입 할 수 있습니다.

+0

그게 내가하고있는 일이야 ... MouseUp 이벤트에서 항목이 제거되고 새 위치에 다시 삽입됩니다. 내 문제는 탭 컨트롤이 제거 후 다시 가져온 후 매우 눈에 띄는 깜박임을 끌고 탭 뒤에있는 탭을 보여주는 다시 삽입 후 가져옵니다. – Rachel