다음을 통해 공유


.NET Framework WPF 애플리케이션에서 관련 데이터 표시

비고

클래스 및 관련 클래스는 DataSet 2000년대 초반의 레거시 .NET Framework 기술로, 애플리케이션이 데이터베이스와 연결이 끊긴 동안 애플리케이션이 메모리의 데이터로 작업할 수 있도록 합니다. 이 기술은 사용자가 데이터를 수정하고 변경 내용을 데이터베이스에 다시 유지할 수 있도록 하는 앱에 특히 유용합니다. 데이터 세트는 입증된 성공적인 기술이지만 새 .NET 애플리케이션에 권장되는 방법은 Entity Framework Core를 사용하는 것입니다. Entity Framework는 테이블 형식 데이터를 개체 모델로 사용하는 보다 자연스러운 방법을 제공하며 더 간단한 프로그래밍 인터페이스를 제공합니다.

일부 애플리케이션에서는 부모-자식 관계에서 서로 관련된 여러 테이블 또는 엔터티에서 가져온 데이터로 작업할 수 있습니다. 예를 들어 Customers 테이블에서 고객을 표시하는 그리드를 표시할 수 있습니다. 사용자가 특정 고객을 선택하면 다른 표에 관련 Orders 테이블의 해당 고객에 대한 주문이 표시됩니다.

데이터 원본 창에서 항목을 끌어 WPF 디자이너에 놓아 관련 데이터를 표시하는 데이터 바인딩된 컨트롤을 만들 수 있습니다.

  1. 데이터 메뉴에서 데이터 원본 표시를 클릭하여 데이터 원본 창을 엽니다.

  2. 새 데이터 원본 추가를 클릭하고 데이터 원본 구성 마법사를 완료합니다.

  3. WPF 디자이너를 열고 디자이너에 데이터 원본 창의 항목에 대한 유효한 삭제 대상인 컨테이너가 포함되어 있는지 확인합니다.

    유효한 드롭 대상에 대한 자세한 내용은 Visual Studio에서 데이터에 WPF 컨트롤을 바인딩하기를 참조하세요.

  4. 데이터 원본 창에서 관계의 부모 테이블 또는 개체를 나타내는 노드를 확장합니다. 부모 테이블 또는 개체는 일대다 관계에서 "일" 측에 위치해 있습니다.

  5. 데이터 원본 창에서 부모 노드(또는 부모 노드의 개별 항목)를 디자이너의 적합한 드롭 대상에 드래그합니다.

    Visual Studio는 끌어온 각 항목에 대해 새 데이터 바인딩된 컨트롤을 만드는 XAML을 생성합니다. XAML은 부모 테이블 또는 개체와 관련된 새로운 CollectionViewSource를 드롭 대상의 리소스에 추가합니다. 일부 데이터 원본의 경우 Visual Studio는 부모 테이블 또는 개체에 데이터를 로드하는 코드를 생성합니다. 자세한 내용은 Visual Studio의 데이터에 WPF 컨트롤 바인딩을 참조하세요.

  6. 데이터 원본 창에서 관련 자식 테이블 또는 개체를 찾습니다. 관련 자식 테이블 및 개체는 부모 노드의 데이터 목록 아래쪽에 확장 가능한 노드로 표시됩니다.

  7. 데이터 원본 창에서 자식 노드(또는 자식 노드의 개별 항목)를 디자이너의 유효한 드롭 대상에 끌어다 놓습니다.

    Visual Studio는 끌어온 각 항목에 대한 새 데이터 바인딩된 컨트롤을 만드는 XAML을 생성합니다. 또한 XAML은 하위 테이블 또는 개체에 대한 새 CollectionViewSource 개체를 놓기 대상의 리소스에 추가합니다. 이 새 CollectionViewSource 항목은 방금 디자이너로 끌어간 부모 테이블 또는 개체의 속성에 바인딩됩니다. 일부 데이터 원본의 경우 Visual Studio는 자식 테이블 또는 개체에 데이터를 로드하는 코드를 생성합니다.

    다음 그림에서는 데이터 원본 창의 데이터 세트에 있는 Customers 테이블의 관련 Orders 테이블을 보여 줍니다.

    관계를 보여 주는 데이터 원본 창