Winforms에서 모든 컨트롤은 InvokeRequired
속성을 가지며 호출해야하는 경우 true를 반환합니다. [Begin] 컨트롤을 호출하여 수정합니다.Dispatcher.CheckAccess()의 올바른 사용법 (또는 사용하지 않음)
WPF의 경우 DispatcherObject.CheckAccess()
과 Dispatcher.CheckAccess()
에는 분명히 비슷한 구문이 있지만 나는 EditorBrowsable(EditorBrowsableState.Never)
속성으로 인해 두려워합니다. 이처럼 편집기 브라우징을 사용하지 않도록 설정하면 "이 아니라이되어야합니다."라는 메시지가 나타납니다. 문제가 해결되지 않으면 문제를 해결하기 위해 솔루션을 잘못 설계했습니다. " 반면에, 내가 찾은 유일한 대안은 (실제로, 원래의 솔루션) Thread.CurrentThread.ManagedThreadId == 1
입니다. (끔찍합니다. 그리고 나는 알고있다. 그것은 일반적인 경우에 작동하지 않습니다. 그것은 내 제한된 용도로 작업을 수행하지만.)
MSDNdocumentation는 EditorBrowsable
속성 뒤의 존재와 추론에 침묵이다. 실제로 입력 한 경우와 같이 "사용하지 마십시오"는 의미입니까, 아니면 다른 덜 뜻깊은 의미가 있습니까?
MSFT에서 몇 명이이 게시물에 답변 한 것으로 보입니다. http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/bd0e6f6c-cadd-48f1-8e1a-163c2f17e4ca/ 'EditorBrowsableState.Advanced'가 더 적절할 수도 있지만 보이지 않습니다. 왜 그 스레드에서 호출해서는 안되는 지에 대한 기술적 인 이유가 될 수 있습니다. – keyboardP