0

を使用してReactiveUI 4.1います。ReactiveCollectionフィルターIsSelectedを使用してIsSelected == true. 派生コレクションを作成する前に、ソース コレクションに未選択または選択されていない項目が事前に入力されている場合、ビュー フィルターは機能しているように見えますが、後でソース コレクションの項目が選択された状態から選択されていない状態になったときに、これらの項目は内部で「消える」ことはありません。派生コレクション。ChangeTrackingEnabledすべてのコレクションでフラグを設定trueしていますが、役に立たないようです。私のコードスニペットを添付:

private readonly ReactiveCollection<string> _sourceItems =  new ReactiveCollection<string>();
private readonly ReactiveCollection<SelectableDataItem<string>> _selectableItemsView = null;
private readonly ReactiveCollection<SelectableDataItem<string>> _selectedItemsView = null;
private readonly ReactiveCollection<string> _selectedDataView = null;

///....


    this._sourceItems.ChangeTrackingEnabled = true;

    this._selectableItemsView =
        this.SourceItems.CreateDerivedCollection<string, SelectableDataItem<string>>(i => new SelectableDataItem<string>(i) { IsSelected = true, });
    this._selectableItemsView.ChangeTrackingEnabled = true;
    this._selectedItemsView =
        this._selectableItemsView.CreateDerivedCollection<SelectableDataItem<string>, SelectableDataItem<string>>(
        i => i,
        f => f.IsSelected,
        (i1, i2) => 0
        );
    this._selectedItemsView.ChangeTrackingEnabled = true;
    this._selectedDataView =
        this._selectableItemsView.CreateDerivedCollection<SelectableDataItem<string>, string>(i => i.Data, f => f.IsSelected, (i1, i2) => 0);
    this._selectedDataView.ChangeTrackingEnabled = true;
4

1 に答える 1

0

うーん、バグのようです。次のいずれかを実行できますか:

于 2013-01-02T00:23:57.963 に答える