WPF 목록의 각 항목에 대한 다른 항목 템플릿?
-
02-07-2019 - |
문제
목록 컨트롤 내에 많은 항목이 있습니다. 각 항목이 항목 유형에 따라 다른 항목 템플릿을 갖기를 원합니다. 따라서 목록의 첫 번째 항목은 대변 유형이므로 ItemTemPlatea로 렌더링되기를 원합니다. 두 번째 항목은 ObjectB 유형이므로 렌더링을위한 ItemTemPlateB를 갖기를 원합니다. 현재 나는 ItemTemplate 설정 만 사용하여 하나의 템플릿을 모두 정의 할 수 있습니다. 이것을 달성하는 방법이 있습니까?
해결책
그만큼 ItemTemplateSelector
작동하지만 여러 가지를 만드는 것이 더 쉽다고 생각합니다. DataTemplate
자원 섹션에있는 다음 각각을 제공합니다. DataType
. 이것은 자동으로 이것을 사용합니다 DataTemplate
항목 생성기가 일치하는 데이터 유형을 감지하는 경우?
<DataTemplate DataType={x:Type local:ObjectA}>
...
</DataTemplate>
또한 당신이 없는지 확인하십시오 x:Key
설정 DataTemplate
.
이 접근법에 대해 자세히 알아보십시오 여기
다른 팁
살펴보십시오 ItemTemplatesEctor 목록 컨트롤의 속성. 사용자 정의 템플릿 선거를 가리키고 코드에 사용할 템플릿을 결정할 수 있습니다.
다음은 TemplatesEctors를 설명하는 블로그 게시물입니다.
http://blogs.interknowlogy.com/johnbowen/archive/2007/06/21/20463.aspx
편집 : 더 나은 게시물은 다음과 같습니다.
http://blog.paranoidferret.com/index.php/2008/07/16/wpf-tutorial-how-to-us-us--datatemplateselector/