2012-04-23 2 views
0

그래서 단추를 클릭하면 새 대화 상자 창을 만드는 창 안에 사용자 정의 컨트롤이 있습니다. 나는 창문을 창문 위에 올려 놓고 싶습니다. 나는WPF에서 새 대화 상자 창 중앙 정렬

 NewDialog dlg = new NewDialog(); 
     dlg.WindowStartupLocation = WindowStartupLocation.CenterOwner; 
     dlg.ShowDialog(); 

문제는 소유자가 호출 창을 될 것 같지 않습니다입니다 ...이 작업을 수행하려고 (사용자 컨트롤이 호출이 아닌 실제 창을 만들고 어쩌면 때문에?). 그래서 ... 대부분 작동

 dlg.Owner = Application.Current.Windows[0]; 

을이 추가했는데, 내 새 창 새 창을 호출해야하고, 나는 그들에게, 호출 창에 중심이 아닌 원하는 때로는 일반적인 해결책이 아니다 기본 창. 사용자가 제어하는 ​​창에 소유자를 올바르게 설정하는 더 좋은 방법이 있습니까? 나는 창문이 완전히 다른 곳에서 나타나거나, 뭔가 평가가 잘못되어 오류를 던지는 변덕스러운 점이 많은 변형을 시도했다.

제안 사항?

+0

시도'dlg.Owner =이;' – LPL

+0

^- 컴파일러 오류가 발생, '창'에 사용자 정의 컨트롤 형식을 변환 할 수 없습니다 –

답변

4

Window 유형이 아닌 경우 호스트 창을 가져 오기 위해 고정 Window.GetWindow Method을 사용하십시오.

dlg.Owner = Window.GetWindow(this); 
+0

만큼 쉬운, 당신에게 선생님 감사합니다! –