WPF从代码中设置ListBox ItemTemplate

时间:2013-08-05 22:46:05

标签: c# wpf datatemplate

好的,我有一个WPF应用程序,我有一个Resource Dictionary,我为ListBox Item.TemplateStyle1Style2创建了两种不同的样式。 我设置了这样的起始风格:

<ListBox x:Name="Lister" ItemTemplate="{DynamicResource Style1}"/>

现在我想让用户随时改变ListBoxItem的风格。 但我不知道如何做到这一点。 提前谢谢。

1 个答案:

答案 0 :(得分:3)

<ListBox ItemsSource="{Binding YourList}"
         ItemTemplate="{DynamicResource Template1}">
    <ListBox.Style>
        <Style TargetType="ListBox">
           <Style.Triggers>
              <DataTrigger Binding="{Binding SomeConditionInTheViewModel}" Value="True">
                  Setter Property="ItemTemplate" Value="{DynamicResource Template2}"/>
              </DataTrigger>
           </Style.Triggers>
        </Style>
    </ListBox.Style>
</ListBox