Inicio / wpf observablecollection 예제

wpf observablecollection 예제

이 예제에서는 항목이 추가되거나 제거될 때 알림을 제공하는 컬렉션 클래스인 ObservableCollection 클래스에서 파생된 컬렉션을 만들고 바인딩하는 방법을 보여 주어집니다. 직접 실행해 보고 목록에 무언가를 추가하거나 사용자 중 하나의 이름을 변경하는 경우에도 UI의 아무 것도 업데이트되지 않는 지 지켜보십시오. 이 예제는 사용자 이름을 유지하는 사용자 클래스, 이를 표시할 ListBox 및 목록과 해당 내용을 모두 조작할 수 있는 일부 단추를 사용하여 매우 간단합니다. 목록의 ItemsSource는 창 생성자에서 만드는 몇 명의 사용자의 빠른 목록에 할당됩니다. 문제는 버튼중 어느 것도 작동하지 않는다는 것입니다. 두 가지 쉬운 단계로 이 문제를 해결해 보겠습니다. 대부분의 경우 작업하는 데이터는 개체의 컬렉션입니다. 예를 들어 데이터 바인딩의 일반적인 시나리오는 ListBox, ListView 또는 TreeView와 같은 ItemsControl을 사용하여 레코드 컬렉션을 표시하는 것입니다. 관찰 가능한 컬렉션에 만들고 바인딩하는 방법의 예는 다음과 같습니다. 위에서 설명한 두 가지 변경 사항을 통해 이제 데이터 원본의 변경 내용을 반영하는 예제가 있습니다. XAML에서 데이터를 바인딩할 수 있도록 만들기에 설명된 대로 다른 공통 언어 런타임(CLR) 개체와 동일한 방식으로 컬렉션을 바인딩할 수 있도록 할 수 있습니다. 예를 들어 XAML에서 컬렉션을 인스턴스화하고 컬렉션을 리소스로 지정할 수 있습니다.

사용자 고유의 데이터 개체에 바인딩할 수 있습니다. 이것은 간단하지만, 일단 작업을 시작하면 실망할 만한 것을 발견할 수 있습니다: 변경 사항은 이전 예제와 마찬가지로 자동으로 반영되지 않습니다. 이 기사에서 배울 것 이다, 이 일이 에 대 한 추가 작업의 조금 필요, 하지만 다행히도, WPF는이 꽤 쉽게. 다음 예제에서는 이러한 두 가지가 필요한 이유를 보여 줄 것입니다: 바인딩은 WPF에서 강력한 태그 확장입니다. 위의 예에서 텍스트 상자와 listview 바인딩할 수 있습니다. listview 행을 선택하면 선택한 행의 데이터가 텍스트 상자에 표시됩니다. 아래에서 찾을 수 있는 마지막 예제에서는 목록 관찰 가능한 컬렉션 교체하기만 하면 됩니다. 이렇게하면 추가 및 삭제 버튼이 작동하지만 «이름 변경»버튼에는 아무 작업도 수행되지 않습니다.

간단한 예제에서 이것이 어떻게 작동하는지 보여 줄 것입니다:이 문서에서는 관찰 가능한 컬렉션WPF에서 어떻게 작동하는지 설명합니다. 관찰 가능컬렉션 처음에 기본 XML 네임스페이스에 매핑되지 않은 네임스페이스 및 어셈블리에 있습니다. 네임스페이스 및 어셈블리에 대한 접두사를 매핑한 다음 개체 요소 태그에 해당 접두사를 사용하여 ObservableCollection. 비교적 새로운 Windows Phone 개발자는 목록 대신 관찰 가능한 컬렉션을 사용하는 것이 좋습니다. 확장 된 기능 외에도 목록의 기능이 있습니다. 당신을 돕기 위해 모든 사례와 CollectionChanged에 대한 결과 인수를 보여 주는 작은 데모를 작성했습니다. 인수 및 기타 관련 정보를 기록하는 동안 관찰 가능한 Collection을 만들고 채우고 마지막으로 사용하는 간단한 WPF 응용 프로그램입니다. 데모의 출력은 다음과 같습니다: 항목이 교체될 때 이벤트가 발생하고 전체 컬렉션(목록이 아닌)이 새로 고쳐지는지 여부와는 아무 상관이 없기 때문에 올바르지 않습니다.