2011-03-24 3 views
2

이것이 응용 프로그램을 작성하는 나쁜 방법인지는 모르겠지만 응용 프로그램의 다른 화면에 대해 30 개의 WPF Windows가 있다고 가정 해 봅시다. 나는 그것이 나쁜 디자인이라면 나는 각각의 윈도우를 창으로 만드는 대신에, 만약 내가 어느 창을 열 었는지 호스트하는 1 개의 윈도우를 가질 수 있는지 궁금해서 DLL에 그들을 만들고 싶다. 따라서 창은 실제로 사용자 정의 컨트롤이거나 최소한 하나처럼 작동합니다. 다른 화면으로 가고 싶을 때, 1 윈도우의 내용을 표시하고자하는 "usercontrol"의 내용으로 변경하면됩니다. 이것이 합리적인가요, 아니면 가능하면이 문제를 볼 수 있습니까? 감사.windows 대신 usercontrols 사용

+1

다중 문서 인터페이스 (MDI)입니다. 요즘 인기가있는 WPF 용 탭 MDI를 사용할 수도 있습니다. http://stackoverflow.com/questions/1026912/tabbed-document-interface-in-wpf-using-only-on-board-means을 참조하십시오. –

답변

1

좋은 접근 방법 일 수 있지만 모든 화면이 같은 창에 속하는지 생각해야합니다. 예를 들어 모든 사용자 정의 컨트롤이 윈도우의 모든 공간을 사용하려고하거나 시각적으로 문제가 있습니까? 윈도우의 내용, 데이터 및 윈도우가 해당 데이터를 조작하는 방법 또한 영향을 줄 수 있습니다.

MVCMVVM (WPF에서 많이 사용됨)과 같은 디자인 패턴을 살펴볼 수 있습니다.

+0

그래, 나도 그 생각을하고 있었지만, 간단히 설명하려고했습니다. 가능한 한 내 요점을 파악하기 위해 – bflosabre91

1

이것은 30 개의 별도의 창보다 훨씬 좋은 솔루션입니다. :) 아무 문제가 없습니다.

여러 화면으로 응용 프로그램을 관리하는 방법을 잘 이해하려면 프레젠테이션 패턴에 대한 정보를 읽는 것이 좋습니다. 제임스 밀러 (Jeremy Miller)가 마틴 파울러 (Martin Fowler)의 저서를 바탕으로 작성한 책을 바탕으로 Presentation Patterns에있는 우수한 (그러나 불완전한) wiki를 살펴보십시오.

각 패턴에 대한 요약을 읽고 상황에 맞는 아이디어를 얻고 인터넷 검색을 시도해보십시오. 위키의 패턴 중 많은 부분이 최근에 진화 해 왔으며 지금까지는 가장 적합한 리소스가 서로 다른 블로그 항목과 애매한 메일 링리스트입니다. 하지만이 분야에서 실제로 영감을 얻은 보석 정보가 있기 때문에 파기를해볼 가치가 있습니다. 프리젠 테이션 패턴은 매우 흥미로운 것입니다!

1

내가 말한 것으로부터 아마도 Pages가 컨트롤보다 사용하기에 더 좋습니다. 이 경우 메인 윈도우의 프레임 컨트롤을 사용하여 페이지 간 탐색을 지원하거나 탐색 버튼을 숨기고 코드에서 직접 탐색 할 수 있습니다.