2009-05-07 7 views
0

WPF에서 데이터 매트릭스 (데이터 테이블 또는 XML 파일)를 ListView에 바인딩 할 수 있습니까? ListView가이 데이터를 바인딩 할 수WPF/Silverlight : DataTable 또는 XML 파일을 ListView에 바인딩 할 수 있습니까?

<data> 
    <cols> 
    <col name="FirstName" /> 
    <col name="LastName" /> 
    <col name="Age" /> 
    </cols> 
    <rows> 
    <row> 
     <col>Huey</col> 
     <col>Freeman</col> 
     <col>10</col> 
    </row> 
    <row> 
     <col>Michael</col> 
     <col>Caesar</col> 
     <col>10</col> 
    </row> 
    <row> 
     <col>Reiley</col> 
     <col>Freeman</col> 
     <col>8</col> 
    </row> 
    <row> 
     <col>Cindy</col> 
     <col null="true" /> 
     <col>9</col> 
    </row> 
    <row> 
     <col /> 
     <col>Robert Jebediah Freeman</col> 
     <col>70</col> 
    </row> 
    </rows> 
</data> 

가 가능 :

는 다음 XML 데이터 집합을 감안할 때?

데이터 열은 미리 정의되어 있지 않습니다. 그것은 어떤 타입의 것이거나 이름이 다를 수 있습니다.

P/S : DataGrid를 알고 있지만 사용하기에 너무 무거워서 데이터를 표시하기 만하면됩니다.

답변

0

목록보기에 바인딩 할 수 있지만 열은 자동으로 생성되지 않습니다. 이를 수행 할 자체 컨트롤을 구축하거나 다른 누군가가 이미 수행 한 컨트롤을 찾아야합니다.

google라면 모든 종류의 기사와 코드가 있습니다.

2

이 경우 XmlDataProvider를 사용할 수 있습니다.

XmlDataProvider data = new XmlDataProvider(); 

// you can load data from file/http/whatever 

data.Source = "... some URL ..."; 

// *OR* you can go directly against an already existing XmlDocument 

// data.Document = someXmlDocumentInstance; 

data.XPath = "/books/book"; // specific to your schema obviously 

myListView.ItemsSource = data.Data; 

할 수도 있습니다 설정 바인딩

Binding myBinding = new Binding(); 

myBinding.Source = data; 

BindingOperations.SetBinding(myListView, ItemsControl.ItemsSourceProperty, myBinding); 

HTH