Window.Show() 또는 Window.ShowDialog()를 사용하지 않고 WPF 응용 프로그램을 개발 중이며, 이는 단순한 MainWindow이고 지정된 UserControls로로드됩니다. 장소 소유자.어쨌든 Window.ShowDialog()와 같은 UI 스레드를 차단할 수 있습니까? WPF
그러나 응용 프로그램이 자리 표시 자에 컨트롤을 표시 할 때 Window.ShowDialog()처럼 스레드를 차단하지 않습니다. 즉, 사용자 정의 컨트롤이 MainWindow에 포함될 때 주 화면으로 돌아갈 수 있습니다. 이 :
// Invoke foo control into placeholder
if (!ShowFooControl())
{
// TODO A: if control's result return false
FooA();
}
// TODO B:just call after foo control closed
FooB();
return true;
FooB()는 Foo Control이 닫힌 후에 만 호출됩니다.
FooA()는 Foo Control이 닫히고 DialogResult = false 인 경우에만 호출됩니다.
제 경우에 Window.ShowDialog를 시뮬레이트하려면 어떻게해야합니까?
감사합니다.
현재 사용자 컨트롤을 제외하고 모든 것을 차단 하시겠습니까? 해당 사용자가 다른 창에서 제어합니까? – Master117
나는 당신이 무엇을하는지에 대한 이해가 정말 어려웠다. 내가 이해 한 것에서 사용자 행동에 대해 생각하는 몇 가지 컨트롤을 보여주는 창을 가지고있다. 그러면 나머지 창을 보여주는 컨트롤이 고정되어 있다면, 적절한보기 모델을 사용하여 컨트롤의 IsEnabled 속성을 사용하여 컨트롤이 표시 될 때 나머지 컨트롤의 IsEnabled 속성이 false로 설정되도록합니다. –
안녕하세요 @ Master117 넵, 그게 내가 원하는 : 현재 UserControl을 제외하고 다른 메인 윈도우를 호출하는 것을 차단하십시오. 감사합니다 –