0

在下面的代码中,我试图通过检查 PreviousElement 是否为空,将集合中第一项的样式设置为一个模板,并将其余项设置为不同的模板。我认为我的相对来源不正确,因为触发条件始终为真。路径应该是什么?

    <DataTemplate x:Key="RowItemTemplate">
        <ContentPresenter Content="{Binding}">
            <ContentPresenter.Style>
                <Style TargetType="{x:Type ContentPresenter}">
                    <Setter Property="ContentTemplate" Value="{StaticResource ComparisonTemplate}"/>
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding RelativeSource={RelativeSource PreviousData}}" Value="{x:Null}">
                            <Setter Property="ContentTemplate" Value="{StaticResource SourceTemplate}"/>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </ContentPresenter.Style>
        </ContentPresenter>
    </DataTemplate>
4

1 回答 1

0

我创建了一个接口,它有一个 bool 来确定特定元素应该使用哪个模板:

    <DataTemplate x:Key="RowItemTemplate">
        <ContentPresenter Content="{Binding}">
            <ContentPresenter.Style>
                <Style TargetType="{x:Type ContentPresenter}">
                    <Setter Property="ContentTemplate" Value="{StaticResource ComparisonTemplate}"/>
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding DataItem}" Value="true">
                            <Setter Property="ContentTemplate" Value="{StaticResource SourceTemplate}"/>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </ContentPresenter.Style>
        </ContentPresenter>
    </DataTemplate>
于 2011-10-31T15:43:56.173 回答