0

次のコードでは、PreviousElementがnullかどうかを確認して、コレクションの最初のアイテムのスタイルを1つのテンプレートに設定し、残りを別のテンプレートに設定しようとしています。トリガー条件が常に真であるため、relativesourceが正しくないと思います。パスはどうあるべきですか?

    <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 に答える