2012-03-03 2 views
2

500 페이지 이상의 탐색이 있고 일부 페이지에서 일부 처리가 수행되는 응용 프로그램 (의학 요법 종류)이 있습니다. 그런 응용 프로그램을 어떻게 디자인해야합니까?500 페이지가 넘는 wpf 응용 프로그램을 디자인하는 방법

현재 프레임이 있고 프레임 내에 프레임을 포함하고 있지만 각 페이지마다 많은 수의 xaml 페이지를 만들어야합니다. (나는 거대한 수의 xaml 페이지).

누구나 더 나은 디자인이나 접근법을 제안 할 수 있습니까?

+0

데이터의 형식은 무엇입니까? 일부 페이지에서 어떤 처리가 수행됩니까? – Paparazzi

답변

0

이러한 대형 복합 응용 프로그램을 위해 특별히 설계된 프레임 워크가 있습니다.

프레임 워크는 PRISM 4, 참조 : http://compositewpf.codeplex.com/

프리즘은 풍부한 유연하고 사용하기 쉬운 유지 보수 윈도우 프리젠 테이션 파운데이션 (WPF) 데스크탑 구축을보다 쉽게 ​​설계하는 데 도움과 하기위한 지침을 제공합니다 응용 프로그램, 실버 라이트 리치 인터넷 응용 프로그램 (RIA) 및 Windows Phone 7 응용 프로그램입니다. 디자인과 같은 중요한 아키텍처 디자인 원칙을 구현하는 패턴을 사용하면 느슨하게 연결된 구성 요소를 사용하여 응용 프로그램을 디자인하고 빌드 할 수 있습니다. 은 독립적으로 발전 할 수 있지만 쉽게 원활하게 수행 할 수 있습니다. 전반적인 적용. 이러한 유형의 응용 프로그램 은 복합 응용 프로그램이라고합니다.

0

응용 프로그램이 주로 문서 뷰어 인 것처럼 들립니다. 그것이 사실이라면 문서는 처리를 포함하는 액티브 컨텐트를위한 일종의 특수 트리거와 함께 어떤 종류의 마크 업에 저장 될 수 있습니다.

페이지를 표시 할 때 응용 프로그램은 마크 업을 처리하여 WPF 표시 형식으로 변환하고 활성 처리 요구 사항이 감지되면 프로그램은 특수 사용자 컨트롤을 삽입하거나 페이지와 상호 작용하기 위해 다른 시스템을 사용할 수 있습니다.

0

@Doug의 큐를 사용하면 문서 뷰어를 찾고있는 것 같습니다. 이 경우 실제로 원하는 것은 단지 "가상화 된 문서"인데, 현재 표시된 페이지 만 인스턴스화되었습니다 (ListBox가 사용하는 Virtualized Stack Panel과 다소 유사 함).

최근에 나는 MVVM 디자인 패턴의 위대한 팬이되었습니다. 귀하의 경우에는 View Model에서 currentPage 속성 (하위보기 모델)과 Binding (아마도 데이터 템플릿)을 사용하여이 페이지를 렌더링하는 방법을 알고있는 뷰 (즉, XAML)가 있어야한다고 생각합니다.

페이지 간을 이동하면 ViewModel의 currentPage 속성 만 변경됩니다. 모든 것이 자동으로 업데이트됩니다 (일단 INotifyPropertyChanged가 올바르게 구현되면). 보기 렌더링이 너무 느린 경우 캐시 메커니즘을 추가하는 것이 좋습니다.

관련 문제