Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF-列表视图中的备用项模板_Wpf_Listview_Itemtemplate - Fatal编程技术网

WPF-列表视图中的备用项模板

WPF-列表视图中的备用项模板,wpf,listview,itemtemplate,Wpf,Listview,Itemtemplate,在自定义列表视图中,每行由图像和文本组成。每一个偶数行,图像应该在左边,每一个奇数行,它应该在右边 作为WPF的初学者,我想知道实现这一点和重用大部分XAML的最简单方法是什么 奇数/偶数项模板的真正区别在于图像位于文本的一侧或另一侧。我相信您可以在样式中使用触发器来实现这一点。您可以将图像左对齐,并在触发器中将其更改为右对齐 类似于: <Style.Triggers> <Trigger Property="ItemsControl.AlternationIndex"

在自定义列表视图中,每行由图像和文本组成。每一个偶数行,图像应该在左边,每一个奇数行,它应该在右边

作为WPF的初学者,我想知道实现这一点和重用大部分XAML的最简单方法是什么


奇数/偶数项模板的真正区别在于图像位于文本的一侧或另一侧。

我相信您可以在样式中使用触发器来实现这一点。您可以将图像左对齐,并在触发器中将其更改为右对齐

类似于:

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

有关如何使用AlternationIndex的更多信息

编辑-工作样本

    <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>


我知道交替索引,但实际上我不知道如何在实际示例中使用它(同样,我对WPF和XAML还是比较陌生)。我已经看到了关于如何更改ListViewItem背景的示例,但我很难理解如何让模板也进行更改。@MarvinLabs,我不确定您在其中到底有什么内容,但我已经添加了一个我想要的工作示例。