오늘 문제가 있었는데 해결하는 동안 WPF에서 이상한 것을 발견했습니다. 창을 표시하지 않고 창을 인스턴스화하는 방법은 무엇입니까?
는 새 WPF 응용 프로그램을 만들, 문제를 볼 버튼을 추가하고 이벤트를 클릭하십시오 :private void Button_Click(object sender, RoutedEventArgs e)
{
var window = new MainWindow();
}
응용 프로그램을 시작 및 작동 버튼을 클릭하지 않고 닫을.
응용 프로그램을 시작하면 버튼을 클릭하고 닫으면 응용 프로그램이 작동하지 않습니다.
응용 프로그램은 메모리에 남아 있습니다. 몇 달 전 나는 similar issue을 가졌지 만, 그 해결책을 사용하면 또 다른 이상한 일이 발생합니다. 응용 프로그램을 종료 할 때 표시되지 않는 창에 대해 Window.Closed
이벤트가 발생합니다.
질문 : 창을 인스턴스화 할 때 WPF는 무엇을 수행합니까? 왜 다른 클래스처럼 인스턴스화 할 수없는 이유는 무엇입니까? 나는 언제나 그것을 표시해야합니까?
죄송합니다. 귀하가 성취하고자하는 바를 오해했습니다. 메인 윈도우/외부 윈도우를 닫을 때 윈도우를 생성하고 자동으로 파괴하려고합니까? – rae1
@ rae1, 일종의. 창에 어떤 일이 일어나 든 상관 없어요. 인스턴스를 필요로합니다. (xaml, init 등을로드 할 것입니다.) 그래서 사용할 수 있습니다. 그러나 창을 전혀 표시하고 싶지 않습니다. – Sinatr