목록 컨트롤 안에 많은 항목이 있습니다. 각 항목이 항목 유형에 따라 다른 항목 템플리트를 갖기를 원합니다. 그래서 목록의 첫 번째 항목은 ObjectA 유형이므로 ItemTemplateA로 렌더링되기를 원합니다. 두 번째 항목은 ObjectB 유형이므로 렌더링을 위해 ItemTemplateB를 갖기를 원합니다. 지금은 ItemTemplate 설정을 사용하여 하나의 템플릿 만 정의 할 수 있습니다. 이것을 달성하기위한 어떤 방법이라도?WPF 목록의 각 항목에 대한 다른 항목 템플릿?
13
A
답변
14
ItemTemplateSelector
가 작동하지만 내가 여러 DataTemplate
를 만들 쉽게 생각 귀하의 리소스 섹션에 다음 각각의 단지를 제공 DataType
. 항목 생성기가 일치하는 데이터 유형을 감지하면 자동으로 다음 DataTemplate
을 사용합니까?
<DataTemplate DataType={x:Type local:ObjectA}>
...
</DataTemplate>
또한 당신이 DataTemplate
에 대한 x:Key
세트가 없는지 확인합니다.
이 접근법에 대해 자세히 알아보기 here
6
목록 컨트롤의 ItemTemplateSelector 속성을 살펴보십시오. 사용자 지정 TemplateSelector를 가리키고 코드에서 사용할 템플릿을 결정할 수 있습니다. 여기
이 블로그 게시물의 설명 TemplateSelectors :http://blogs.interknowlogy.com/johnbowen/archive/2007/06/21/20463.aspx
편집 : 여기에 더 나은 포스트 :
http://blog.paranoidferret.com/index.php/2008/07/16/wpf-tutorial-how-to-use-a-datatemplateselector/
+0
내가 필요한 것 같습니다. 감사. –
이 접근법은 잘못 수행되지 않습니다. –
{x : Type ... 물건을 넣는 것을 잊어 버렸습니다. 다시 시도하십시오! – rudigrobler
또한 x : Key 세트가 없는지 확인하십시오! – rudigrobler