데이터가DataGrid : 동적 DataGridTemplateColumn에 대한 동적 DataTemplate
public class Thing
{
public string Foo { get; set; }
public string Bar { get; set; }
public List<Candidate> Candidates { get; set; }
}
public class Candidate
{
public string FirstName { get; set; }
public string LastName { get; set; }
...
}
의 집합 인 데이터 격자에 데이터를 표시하려고합니다. 여기서 후보 목록의 후보 수는 런타임에 달라집니다.
원하는 그리드 레이아웃은 다음과 같습니다.Foo | Bar | Candidate 1 | Candidate 2 | ... | Candidate N
런타임 중에 변경을 계획하는 후보자마다 DataTemplate
를 갖고 싶습니다. 사용자가 다른 컬럼에 표시되는 후보 정보를 선택할 수 있습니다. (후보자는 다만보기이다, 나는 다른 목표가있다). 즉, 하나의 큰 템플릿과 그 부분을 축소하여 실행할 수도 있지만 런타임에서 열 템플릿을 변경하려고합니다.
두 경우 모두 수동으로 열을 추가하십시오. XamlReader
을 사용하여 문자열에서 DataTemplate
을로드해야합니다. 그 전에 원하는 후보로 바인딩을 변경하기 위해 문자열을 편집해야합니다.
알 수없는 수의 DataGridTemplateColumn으로 DataGrid를 만드는 더 좋은 방법이 있습니까?
이 질문은 dynamic datatemplate with valueconverter
편집 : WPF와 Silverlight를 모두 지원해야하므로 DataGrid
구성 요소를 만들었습니다. 열. 컬렉션이 변경되면 열을 업데이트합니다.
이 문제에 대한 해결책이나 해결책을 얻었습니까? –
아닙니다. 내가 작성한 것처럼 커스텀'DataGrid' 컨트롤로 끝났습니다. 하지만 DataGrid가 제 작업에 상당히 무거 우므로'Grid'를 기반으로 한 사용자 정의 컨트롤을 개발할 생각입니다. –