나는 UserControl
을 Window
에 가지고 있습니다. 응용 프로그램의 수명 동안 해당 Window
때때로 닫힙니다 및 사용자가 다시 필요할 때 새 인스턴스가 만들어집니다.WPF Window.GetWindow (이상) 이상한 동작입니까?
어떤 시점에서 UserControl
은 대화 상자를 표시해야하며 소유자 권한으로 대화 상자에 부모 컨트롤을 전달해야합니다. 여기에 catch가 있습니다 : Window
이 처음 생성되고 컨트롤에 대화 상자가 표시되면 모든 것이 잘 작동합니다. Window.GetWindow(this)
을 호출하고 그 결과를 대화 상자에 전달합니다. Window
가 닫힌 이후 새로운 인스턴스가 생성되고 UserControl
대화 상자를 열 때 그러나 그때 나는 다음과 같은 예외를 얻을 :
폐쇄 된 창에 소유자 속성을 설정할 수 없습니다.
Window
가 생성 될 때마다
는이 코드를 호출 : 대화 상자를 표시하는 동안
var window = new ControllerConfigurationWindow() { Owner = this };
그래서 그것은 분명 새로운 인스턴스, 그리고 물론, 창이 열려 ... 내가 아니에요 어디서나 닫을 수 있습니다 ...
제가 궁금해하는 점은 제가 말한 것처럼 내 마음에는 말이되지 않습니다. 그러나 Window.GetWindow(this)
어떻게 든 저에게 오래된 인스턴스의 부모를 줄 수 있습니까?