2012-10-31 2 views
0

일부 개체가있는 관찰 가능한 컬렉션이 있습니다. 이 객체에는 4 개의 문자열이 있습니다. 이 데이터를 DataGrid에 표시 할 수 있기를 원하지만 생각했던 것과는 다릅니다. 자동으로 열을 생성하게하면 각 필드에 대한 열이 생깁니다. 필요한 것은 항목을 사용자 정의 템플릿으로 각 셀에 추가하기 위해 설정된 양의 열입니다. 왼쪽 상단에서 시작하여 오른쪽으로 계속 진행하고 모든 행의 끝에서 다시 시작해야합니다.WPF - DataGrid 또는 ListView에서 이상한 방식으로 개체를 나열하는 방법?

예 : 10 개의 항목과 3 개의 열이 있다고 가정 해 봅니다. 나는 자동으로 3 개의 열과 1 개의 항목을 가진 3 개의 행을 하단 행에 가져야한다. 이 항목은 데이터를 올바르게 표시하는 4 개의 텍스트 블록으로 구성됩니다.

DataGrid를 이런 방식으로 동작시키는 방법을 알아낼 수 없습니다. 나는 다른 컨트롤이 더 잘 작동한다고 생각하기 시작했는데 확실하지 않습니다. 누구든지 DataGrid를 도울 수 있거나 다른 컨트롤을 사용하여 올바른 방향으로 나를 가리킬 수 있다면 정말 감사하겠습니다.

미리 감사드립니다.

답변

1

WrapPanel을 찾고있는 것처럼 들립니다. 목록에 개별적으로 필요한 항목을 제공해야하지만 개체의 일부는 제공하지 않아도됩니다. 개체 목록을 반복하여 IEnumerable에 바인딩 한 다음 각 문자열을 조금씩 반환 할 수 있습니다.

public IEnumerable<String> SomeList 
{ 
    get 
    { 
     foreach (var item in SomeOtherList) 
     { 
      yield return item.String1; 
      yield return item.String2; 
      yield return item.String3; 
      yield return item.String4; 
     } 
    } 
} 
+0

좋아요, 저는 ListView에 패널로 WrapPanel이 있습니다. 감사합니다. 데이터 "항목. 문자열 1"등에 액세스하는 방법을 알려줄 가능성이 있습니까? 나는 아무 소용이 속성 이름 바인딩을 시도했다. – Barbacamanitu

+0

SomeList에 바인딩하는 경우 항목 바인딩은 {바인딩}이됩니다. 해당 속성 중 하나가 아닌 문자열에 직접 바인딩하려는대로 속성을 지정하지 마십시오. –

관련 문제