2011-10-05 4 views
1

사용자 지정 목록보기에서 각 행은 이미지와 텍스트로 구성됩니다. 모든 짝수 행, 이미지가 왼쪽과 모든 홀수 행에 있어야하며, 오른쪽에 있어야합니다.WPF - ListView의 대체 항목 템플릿

WPF에서 초보자가되어이 점을 달성하고 작성된 대부분의 XAML을 재사용하는 것이 가장 쉬운 방법인지 궁금합니다.

홀수/짝수 항목 템플릿은 실제로 이미지가 텍스트의 한쪽 또는 다른쪽에 있다는 사실 만 다릅니다.

답변

2

나는 이것을 달성하기 위해 스타일로 트리거를 사용할 수 있다고 믿습니다. 이미지를 왼쪽으로 정렬하고 트리거에서 오른쪽으로 변경할 수 있습니다. 유사

뭔가 : AlternationIndex here를 사용하는 방법에 대한

<Style.Triggers> 
    <Trigger Property="ItemsControl.AlternationIndex" Value="1"> 
      <!-- Change image position here --> 
    </Trigger> 
<Style.Triggers> 

더 많은 정보를 제공합니다.

편집 - 워킹 샘플

<Style TargetType="ListViewItem"> 
     <Setter Property="Template"> 
      <Setter.Value> 
       <ControlTemplate TargetType="{x:Type ListViewItem}"> 
         <DockPanel> 
          <Image Source="/WpfApplication;component/Images/TestImage.jpg" DockPanel.Dock="Left" x:Name="rowImage"/> 
          <TextBlock Text="Testing..." Background="{TemplateBinding Background}"/> 
         </DockPanel> 
        <ControlTemplate.Triggers> 
         <Trigger Property="ItemsControl.AlternationIndex" Value="1"> 
          <Setter Property="DockPanel.Dock" TargetName="rowImage" Value="Right" /> 
         </Trigger> 
        </ControlTemplate.Triggers> 
       </ControlTemplate> 
      </Setter.Value> 
     </Setter> 
    </Style> 
+0

나는 그러나 실제로 (내가 WPF와 XAML에 오히려 새로운 오전 다시)는 실제 예제에서 사용하는 방법을 알고하지 않는, 교대 인덱스에 대해 알고 . ListViewItem 배경을 변경하는 방법에 대한 예제를 보았지만 템플릿을 변경하는 방법을 이해하는 데 어려움을 겪고 있습니다. –

+0

@ MarvinLabs, 나는 당신이 그곳에 정확히 무엇을 가지고 있는지 확신하지 못한다. 그러나 내가 염두에 두었던 일의 샘플을 추가했다. –

+0

감사합니다. 샘플이 올바른 위치에 놓였습니다. –