WPF - 根据某些条件设置List View的ItemsSource

时间:2015-10-09 13:05:20

标签: c# wpf listview itemssource

是否可以根据某些条件设置列表视图的ItemsSource。    我尝试了以下方法,但它没有用。

   <ListView ItemsSource="{Binding FirstTypeOfSource}"  .....>
        <ItemsControl.ItemContainerStyle>
                <Style >
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding Category}" Value="All">
                            <Setter Property="ItemsSource" Value="SecondTypeOfCategory"/>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </ItemsControl.ItemContainerStyle>
   </ListView>

有人可以帮助找出解决方案吗?

2 个答案:

答案 0 :(得分:0)

试试这个

为ListView添加名称。

<ListView x:Name="someName" ItemsSource="{Binding FirstTypeOfSource}" .....>

使用元素名称查找所需的DependencyProperty:

<DataTrigger Binding="{Binding Category}" Value="All">
    <Setter TargetName="someName" Property="ItemsSource" Value="SecondTypeOfCategory"/>
</DataTrigger>

答案 1 :(得分:0)

这应该这样做

    <ListView ItemsSource="{Binding FirstTypeOfSource}">
        <ListView.Style>
            <Style TargetType="ListView">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Category}" Value="All">
                        <Setter Property="ItemsSource" Value="{Binding SecondTypeOfCategory}"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </ListView.Style>
    </ListView>