LINQ to XML 데이터 바인딩 샘플

이 단원에서는 포함된 XML 데이터 원본에 사용자 인터페이스 구성 요소를 바인딩하는 WPF(Windows Presentation Foundation) 앱인 LinqToXmlDataBinding 예제에 대해 설명합니다.

개요

LinqToXmlDataBinding 샘플은 C# 및 XAML 원본 파일이 포함된 WPF(Windows Presentation Foundation) 앱입니다. 포함된 XML 문서는 책 목록을 정의합니다. 이 앱을 사용하면 사용자가 책 항목을 보고 추가하며 삭제하고 편집할 수 있습니다.

기본 원본 파일은 다음의 두 가지가 있습니다.

  • L2DBForm.xaml에는 기본 창의 UI(사용자 인터페이스)에 대한 XAML 선언 코드가 포함되어 있습니다. 또한 책 목록에 대한 포함된 XML 문서와 데이터 공급자를 정의하는 창 리소스 섹션도 포함되어 있습니다.

  • L2DBForm.xaml.cs에는 UI와 연결된 초기화 및 이벤트 처리 메서드가 포함되어 있습니다.

기본 창은 다음 네 가지 세로 UI 섹션으로 나뉩니다.

  • XML에서는 포함된 책 목록의 원시 XML 원본이 표시됩니다.

  • Book List에서는 책 항목이 표준 텍스트로 표시되고 사용자가 개별 항목을 선택하고 삭제할 수 있습니다.

  • Edit Selected Book에서는 사용자가 현재 선택된 책 항목과 연결된 값을 편집할 수 있습니다.

  • Add New Book에서는 사용자가 입력한 값에 따라 새 책 항목을 만들 수 있습니다.

샘플 실행

이 섹션에서는 Visual Studio에서 LinqToXmlDataBinding 프로젝트를 만들고 빌드하는 방법과 그 결과로 생성되는 LinqToXmlDataBinding WPF(Windows Presentation Foundation) 앱을 실행하는 방법을 보여줍니다.

프로젝트 만들기

  1. Visual Studio를 열고 이름이 LinqToXmlDataBinding인 C# WPF 앱을 만듭니다.

    프로젝트는 .NET Framework 3.5 이상을 대상으로 지정해야 합니다.

  2. 이미 존재하지 않는 경우 다음 .NET 어셈블리에 대한 프로젝트 참조를 추가합니다.

    • System.Data
    • System.Data.DataSetExtensions
    • System.Xml
    • System.Xml
  3. Ctnrl+Shift+B를 눌러 솔루션을 빌드한 다음, F5를 눌러 솔루션을 실행합니다.

    프로젝트가 오류 없이 컴파일되고 일반 WPF 애플리케이션으로 실행됩니다.

코드 추가

  1. 솔루션 탐색기에서 소스 파일 Window1.xaml의 이름을 L2XDBForm.xaml로 바꿉니다.

    종속 원본 파일 Window1.xaml.cs의 이름이 L2XDBForm.xaml.cs로 자동으로 바뀝니다.

  2. L2XDBForm.xaml 파일의 소스 코드를 L2DBForm.xaml 소스 코드로 바꿉니다. 이 파일 작업을 하려면 XAML 소스 뷰를 사용하세요.

  3. 이와 마찬가지로 L2XDBForm.xaml.cs 파일의 원본을 L2DBForm.xaml.cs 소스 코드로 바꿉니다.

  4. App.xaml 파일에서 모든 Window1.xaml 문자열을 L2XDBForm.xaml로 바꿉니다.

  5. Ctrl+Shift+B를 눌러 솔루션을 빌드합니다.

앱 실행

LinqToXmlDataBinding 앱을 사용하여 포함된 XML 요소로 저장된 책 목록을 보고 조작할 수 있습니다. F5(디버깅 시작) 또는 Ctrl+F5(디버깅 없이 시작)를 눌러 앱을 실행합니다.

LINQ to XML을 사용한 WPF 데이터 바인딩이라는 제목의 프로그램 창이 나타납니다.

책 목록을 나타내는 원시 XML이 UI의 맨 위 섹션에 표시됩니다. 이 섹션은 마우스나 키보드를 통해 조작할 수 없도록 하는 WPF TextBlock 컨트롤을 사용하여 표시됩니다.

Book List라는 두 번째 세로 섹션에는 일반 텍스트로 정렬된 책 목록이 표시됩니다. 이 섹션에는 마우스나 키보드를 통해 선택할 수 있도록 하는 ListBox 컨트롤이 사용됩니다.

책 추가 및 삭제

새 책을 목록에 추가하려면 마지막 섹션인 Add New Book에서 IDValueTextBox 컨트롤에 값을 입력하고 Add Book을 선택합니다. 책이 책 목록과 XML 목록에 모두 추가됩니다. 이 프로그램에서는 입력 값의 유효성을 검사하지 않습니다.

목록에서 기존 책을 삭제하려면 Book List 섹션에서 책을 선택한 다음 Remove Selected Book을 선택합니다. 해당 책 항목이 책 목록과 원시 XML 소스 목록에서 모두 제거됩니다.

책 항목 편집

  1. 두 번째 Book List 섹션에서 책 항목을 선택합니다.

    현재 값이 Edit Selected Book 섹션에 표시됩니다.

  2. 키보드를 사용하여 값을 편집합니다. TextBox 컨트롤 중 하나가 포커스를 잃으면 그 즉시 변경 사항이 XML 소스 목록과 책 목록에 자동으로 전파됩니다.