0

だから、私はViewModelがItemsControlを介して割り当てられているUserControlのリストを作成しています

<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)

理由はありますか?

4

0 に答える 0