데이터 바인딩

Browse sample. 샘플 찾아보기

.NET 다중 플랫폼 앱 UI(.NET MAUI) 앱은 하나 이상의 페이지로 구성되며, 각 페이지는 일반적으로 뷰라는 여러 사용자 인터페이스 개체를 포함합니다. 앱의 주요 작업 중 하나는 이러한 보기를 동기화된 상태로 유지하고 해당 뷰가 나타내는 다양한 값 또는 선택 항목을 추적하는 것입니다. 뷰는 기본 데이터 원본의 값을 나타내며 사용자는 이러한 뷰를 조작하여 해당 데이터를 변경합니다. 뷰가 변경되면 기본 데이터에 변경 사항이 반영되어야 하고, 마찬가지로 기본 데이터가 변경되면 뷰에 변경 사항이 반영되어야 합니다.

이러한 변경 내용을 성공적으로 처리하려면 앱에 이러한 보기 또는 기본 데이터의 변경 내용을 알려야 합니다. 일반적인 솔루션은 변경 사항이 발생하면 신호를 보내는 이벤트를 정의하는 것입니다. 그러면 이러한 변경 사항을 알리는 이벤트 처리기를 설치할 수 있습니다. 이것은 한 개체에서 다른 개체로 데이터를 전송하여 응답합니다. 그러나 뷰가 많은 경우 많은 이벤트 처리기도 있어야 하므로 많은 상용구 코드가 발생합니다.

데이터 바인딩은 이 작업을 자동화하고 이벤트 처리기를 불필요하게 렌더링합니다. 데이터 바인딩은 XAML 또는 코드에서 구현할 수 있지만 코드 숨김 파일의 크기를 줄이는 데 도움이 되는 XAML에서 훨씬 더 일반적입니다. 이벤트 처리기의 절차 코드를 선언적 코드 또는 태그로 바꿔서 앱이 간소화되고 명확해집니다.

따라서 데이터 바인딩은 한 속성의 변경 내용이 다른 속성에 자동으로 반영되도록 두 개체의 속성을 연결하는 기술입니다. 데이터 바인딩과 관련된 두 개체 중 하나는 거의 항상 View에서 파생되고 페이지의 시각적 인터페이스 일부를 형성하는 요소입니다. 다른 개체는 다음 중 하나입니다.

  • 대개 같은 페이지에 있는, 다른 View 파생 개체
  • 코드 파일의 개체

View 파생 항목 간의 데이터 바인딩은 명확성과 단순성을 위해 이러한 문서에 자주 표시됩니다. 단, View와 다른 개체 간의 데이터 바인딩에 동일한 원칙이 적용될 수 있습니다. 애플리케이션이 MVVM(Model-View-ViewModel) 아키텍처를 사용하여 빌드된 경우, 기본 데이터가 있는 클래스를 viewmodel이라고 합니다.

Important

.NET MAUI는 바인딩 업데이트를 UI 스레드에 마샬링합니다. MVVM을 사용하는 경우 .NET MAUI의 바인딩 엔진을 사용하여 모든 스레드에서 데이터 바인딩 viewmodel 속성을 업데이트하여 UI 스레드에 대한 업데이트를 가져올 수 있습니다.