根据数据值更改ItemsControl ItemTemplate

时间:2012-07-10 20:23:25

标签: wpf xaml

我有一个绑定到Dictionary的ItemsControl,并且我正在尝试根据Dictionaries键的值应用模板。我想做的是:

<ItemsControl ItemsSource="{Binding Path=CommonItems, Mode=OneWay}">
    <ItemsControl.Style>
        <Style TargetType="ItemsControl">
            <Style.Triggers>
                <DataTrigger Binding="{Binding Path=Key}" Value="authentication">
                    <Setter Property="ItemTemplate" Value="{StaticResource AuthenticationTemplate}"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </ItemsControl.Style>
</ItemsControl>

这根本不起作用,我的错误说ItemControl上不存在Key。这让我相信它正在使用我的TargetType来搜索绑定。那么我该怎么做并让它实际使用ItemsSource?

1 个答案:

答案 0 :(得分:1)

如果您想为每件商品执行此操作,我建议您使用ItemTemplateSelector