1

2つの別々のリストに表示されているコレクションがあります。1つのリストにはすべてのアイテム(フィルタリングされていない)が表示され、2番目のリストには特定の基準に一致するアイテム(フィルタリングされている)が表示されます。

2つのリストのItemsSourceプロパティは、ViewModelの2つのプロパティにバインドされています。

フィルタリングされたリストにDefaultViewを設定しようとしましたが、両方のリストに影響します。

ListCollectionView view = (ListCollectionView) CollectionViewSource.GetDefaultView(_manager.Modules);
view.Filter = delegate(object item)
{
    Model.BaseModule bm = item as Model.BaseModule;
    if (bm != null)
    {
        return bm is TemplatedUnitOfTest && ((TemplatedUnitOfTest)bm).TemplateGuid == _uot.Header.Id;
    }
    return false;
};

これはどのようにすればよいですか?

4

1 に答える 1

3

デフォルトのビューを変更する代わりに、の2つの別個のインスタンスを明示的に作成しListCollectionView、1つをフィルタリングして、各リストを関連するビューにバインドします。

ItemsControlまたは派生)は、とにかく表示する前に常にItemsコレクションをaでラップします。この手順を自分で行うと、表示内容をより細かく制御できます。CollectionView

于 2012-11-15T11:16:40.323 に答える