绑定到ICollectionView不起作用

时间:2014-10-29 09:23:56

标签: c# wpf icollectionview

所以,我正在创建一个UserControl列表,ViewModel是通过ItemsControl分配的

<ItemsControl Grid.Column="0" Grid.Row="1" x:Name="itemsControlStack"             
     ItemsSource="{Binding ListOfViewModels, Mode=OneWay}" VerticalAlignment="Bottom">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel IsItemsHost="True"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <local:UserControlA/>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

以上代码有效,但我希望在不更改数据的情况下反向显示,所以:

<ItemsControl Grid.Column="0" Grid.Row="1" x:Name="itemsControlStack"
    ItemsSource="{Binding REVERSEDListOfViewModels, Mode=OneWay}" VerticalAlignment="Bottom">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <StackPanel IsItemsHost="True"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <local:UserControlA/>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

我的ViewModel中的某个地方,我通过断点检查了代码的执行情况

public ICollectionView REVERSEDListOfViewModels { get; private set; }

REVERSEDListOfViewModels = CollectionViewSource.GetDefaultView(ListOfViewModels);
REVERSEDListOfViewModels.SortDescriptions.Add(new SortDescription("ID", ListSortDirection.Descending));

但它突然无法正常工作。它不会在任何地方返回错误,但UserControlA现在没有正确呈现。 (提供的用户控件没有其数据 - 存储在REVERSEDListOfViewModels

知道为什么吗?

0 个答案:

没有答案