2009-06-04 4 views
1

WPF 또는 Silverlight에서 머리글/선 양식 (머리글/세부 정보라고도 함)을 설정하는 모범 사례가 있습니까? 가급적이면 Mode-View-ViewModel 디자인 패턴을 사용하여 나머지 응용 프로그램과 잘 어울립니다.WPF/Silverlight에서 머리글/선 설정 방법

예를 들어 데이터베이스의 모든 SalesOrders를 표시하는 눈금이 있고 그 아래에 SalesOrderDetails (판매 주문 ... 각 품목 판매에 대한 개별 줄)가 모두 표시된 눈금이 상단 그리드에서 선택된 판매 오더.

Grid의 SelectionChanged 이벤트 파일의 코드에서이 작업을 수행 할 수 있다는 것을 알았지 만, 모든 XAML 및 ViewModel 코드에서 선언적 방법을 선호합니다. 이것이 가능한가? 나에게 상세 패턴 -

덕분에, 로이

답변

2

헤더/선 마스터처럼 많이 들린다. MVVM을 사용하여 이와 같은 것을 구현하는 것은 매우 간단합니다.

MasterViewModel과 DetailViewModel이있는 구조를 만들려면 MasterViewModel에서 우리 세부 정보 목록과 현재 Detail을 나타내는 속성 만 있으면됩니다. 보기에서 목록의 ItemSource를 Details 컬렉션에 바인딩하고 SelectedItem을 CurrentDetail 속성에 바인딩 할 수 있습니다. 그런 다음 DataTemplate 또는 UserControl과 같이 별도의 View를 사용하여 CurrentDetail을 나타내고 세부 값 격자에 값을 표시 할 수 있습니다.

마스터 세부 정보 패턴 XAML을 구현하는 데 유용한 리소스가 있습니다.

Bea Stollnitz는 데이터 소스에 대해 XML을 사용하여 두 가지 우수 샘플을 제공합니다 (HereHere).

WPF에서 패턴을 구현할 때 MSDN video이 있습니다. 비디오는 VB이지만 코드는 C#에서 다운로드 할 수 있습니다.

MSDN forums 토론에서 Johnny Q.는 MVVM을 사용하여 간단한 Master-Detail 설정을 시연합니다.

코드가 VB (그러나 몇 가지 예는 C# 및 VB 코드를 모두 제공됩니다.)

보통 비록 Karl Shifflett's 많은 예제 또한, 마스터 - 세부 패턴을 보여 결국