이것은 WPF/C# 애플리케이션이며 코드 문제보다 디자인 문제가 더 많습니다.Window_Closed 이벤트를 트리거하지 않고 창 닫기
나는 창에서 파생 된 클래스를 구현하는 5 개의 분리 된 * .xaml 파일을 가지고 있습니다. 그래서, 5 개의 창문. 이는 마법사 유형의 응용 프로그램이므로 각 창에 새 창을 만들고 숨기며 새 창을 표시하는 뒤로/다음 단추가 있습니다.
이 순수하게 탐색 가끔 창을 건너 뛰거나 첫 번째 창에 다시 가고 싶어하기 때문에 등
, 새 창이 열릴 때마다 (그래서 페이지를 사용하지 않는) 기반으로하지 않습니다 부모 창은 자신을 새 창 소유자로 설정하고 숨 깁니다. 뒤로 버튼을 사용하면 새 창에 소유자가 표시되고 닫힙니다. 이것은 탐색에 잘 작동합니다.
탐색을 사용하는 것과는 달리 창을 실제로 닫을 때 문제가 있습니다. 창을 닫으면 Alt-F4를 누르고 X 등을 누르면 전체 앱을 닫아야합니다.
내 '돌아 가기'버튼은 창을 닫아서 Window_Closed를 트리거하여 전체 앱을 닫습니다.
사용자가 창을 닫을 때 전체 앱을 닫는 방법을 생각하지만 창을 닫으면 숨기고 실제로 삭제합니다. 다시 클릭하면 소유자를 표시합니다. 나는 후자를 촉발시키지 않고 후자를 할 수 없다.
제안 사항? 나는 이것에 대해 올바른 생각을하지 않고 있습니다.
내비게이션을 사용해 보았는데 실제로 특정 비디오를 보았습니다. 그건 내가 원하는 것만은 아니야. 웹 페이지 탐색 기능이 더 많아 페이지간에 이동할 수 있습니다. 나는 각각의 경우에 '뒤로'와 '다음'이 무엇을해야하는지에 대한 매우 구체적인 규칙을 가지고 있습니다. 문맥에 따라 페이지를 건너 뛰거나 코드를 실행할 수도 있습니다. 5 개 창 각각에서 usercontrols를 사용하고 있습니다. 본질적으로 1 개 이상의 사용자 컨트롤이므로 지금 조사해 볼 가치가 있습니다. 뒤로/다음에 대한 논리를 창 밖으로 옮겨야 만하지만 그럴 가치가 있습니다. – Eric
@ user783106 - 예, 메인 창으로 돌아가거나 옆으로 튀어 나오기를 원할 것입니다. 통제 수단. Back/Next를 클릭하면 다음 UserControl을 선택하려는 규칙을 사용할 수 있습니다. 네비게이션을 사용하고 싶지 않으면 가시성을 직접 토글하십시오. –
하지만 부수적 인 점은 탐색에 규칙을 사용할 수 있다는 것입니다. NavigateTo ("문자열 이름 페이지")라는 메서드가 있습니다. 버튼을 클릭하면 코드 숨김에서 다음 페이지를 결정하는 데 필요한 논리를 실행하게됩니다. 그것을 표시 할 준비가되면 NavigateTo()를 호출하여 다음 페이지의 이름을 전달하십시오 (필요할 경우 완전히 동적 일 수 있음). –