2011-09-27 2 views
3

새 창에서보기 모델을 게시해야하는 프리즘 응용 프로그램을 개발 중입니다. 이를 달성하기 위해 이러한 뷰 모델의 게시 전용 서비스를 만들었습니다. 나는 다음과 같이 호출 :Window.Show() 새 창을 표시 한 다음 주 창 뒤에 표시됩니다.

windowService.Publish(myViewModel); 

및 게시 방법의 몸 것은 다음과 같이이다 : 표시() 메소드 실행 후

public void Publish(FloatingViewModel viewModel) 
{ 
    var floatingWindow = ServiceLocator.Current.GetInstance<FloatingWindow>(); 

    floatingWindow.DataContext = viewModel; 
    floatingWindow.Show(); 
} 

, 새로운 창을 빠르게 내 메인 창 위에 나타나 초점을 되찾은 것처럼 내 메인 윈도우 뒤에서 사라집니다.

누구나이 동작이 어디에서 비롯 될 수 있는지 알고 있습니까?

+0

windowService.Publish (myViewModel)을 호출하는 메서드에서 해당 호출 후에 모든 줄을 주석 처리하면 여전히 사라 집니까? –

+0

WPBox에서 MessageBox와 비슷한 문제가 있습니다. –

답변

0

나는 마침내 문제를 발견했으며 실제로 생각한 것보다 훨씬 깊었다. 이 답은 근본 원인이 완전히 다른 이유로 설명한 문제의과 관련이 없습니다.

창에서보기 모델을 게시하는 코드는 실제로 WPF 명령에 중첩되어 있으며이 명령은 InvokeCommandAction을 통해 MouseDoubleClick 이벤트에 연결되었습니다. 이벤트를 명령에 바인딩 할 때조차도 이벤트는 처리 된 것으로 표시되지 않으므로 처리 될 때까지 전파됩니다. 그것은 나의 메인 윈도우가 초점을 되 찾는 원인이되었다.

관련 문제