どうすればいいですか?最新のアイテムが最初にあるリスト(タイプObservableCollection
)が必要です。ObservableCollectionの先頭にアイテムを挿入するにはどうすればいいですか?
31
A
答えて
64
5
代わりにスタックを使用する必要があります。
これは、スタックは常に最初で最終れる観測可能なスタック(LIFO)を作成しますObservable Stack and Queue
に基づいています。サシャHOLLから
public class ObservableStack<T> : Stack<T>, INotifyCollectionChanged, INotifyPropertyChanged
{
public ObservableStack()
{
}
public ObservableStack(IEnumerable<T> collection)
{
foreach (var item in collection)
base.Push(item);
}
public ObservableStack(List<T> list)
{
foreach (var item in list)
base.Push(item);
}
public new virtual void Clear()
{
base.Clear();
this.OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
}
public new virtual T Pop()
{
var item = base.Pop();
this.OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, item));
return item;
}
public new virtual void Push(T item)
{
base.Push(item);
this.OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, item));
}
public virtual event NotifyCollectionChangedEventHandler CollectionChanged;
protected virtual void OnCollectionChanged(NotifyCollectionChangedEventArgs e)
{
this.RaiseCollectionChanged(e);
}
protected virtual void OnPropertyChanged(PropertyChangedEventArgs e)
{
this.RaisePropertyChanged(e);
}
protected virtual event PropertyChangedEventHandler PropertyChanged;
private void RaiseCollectionChanged(NotifyCollectionChangedEventArgs e)
{
if (this.CollectionChanged != null)
this.CollectionChanged(this, e);
}
private void RaisePropertyChanged(PropertyChangedEventArgs e)
{
if (this.PropertyChanged != null)
this.PropertyChanged(this, e);
}
event PropertyChangedEventHandler INotifyPropertyChanged.PropertyChanged
{
add { this.PropertyChanged += value; }
remove { this.PropertyChanged -= value; }
}
}
これはINotifyCollectionChangedを呼び出すには、のObservableCollectionと同じですが、スタック方式ではありません。
0
あなたはこの
collection.insert(0,collection.ElementAt(collection.Count - 1));
関連する問題
- 1. 複数のファイルの先頭にテキストを挿入するにはどうすればよいですか?
- 2. ファイルの先頭にヘッダーを挿入するにはどうすればよいですか?
- 3. ObservableCollectionのアイテムを更新するにはどうすればいいですか?
- 4. アイテムをキューの先頭に追加するにはどうすればよいですか?
- 5. リストの先頭に挿入
- 6. リンクリストの先頭に挿入
- 7. ファイルの先頭に改行が挿入されています
- 8. QAbstactTableModel先頭に挿入
- 9. 新しいレコードをPHPの古いレコードの先頭に残すにはどうすればいいですか?
- 10. ドーム構造の子をReact NativeでDOMの先頭にするにはどうすればいいですか
- 11. ハイチャート:円グラフでコネクタの先端に矢頭を追加するにはどうすればいいですか?
- 12. モックオブジェクトをコンストラクタに挿入するにはどうすればいいですか?
- 13. モデルをPresenterに挿入するにはどうすればいいですか?
- 14. 'JTextField'に 'String'を挿入するにはどうすればいいですか?
- 15. ボードにポーンを挿入するにはどうすればいいですか?
- 16. をADFに挿入するにはどうすればいいですか?
- 17. マスターページにデータを挿入するにはどうすればいいですか?
- 18. コントローラをサービスに挿入するにはどうすればいいですか?
- 19. Dagger 2でAndroid優先ジョブキューにオブジェクトを挿入するにはどうすればよいですか?
- 20. Perlでは、ファイルの行を変更、削除、挿入、またはファイルの先頭に追加するにはどうすればよいですか?
- 21. リンク先の先頭に新しいノードを挿入
- 22. 配列の先頭に項目を追加するにはどうすればいいですか?
- 23. アクティビティをスタックの先頭に持ってきてリセットするにはどうすればいいですか?
- 24. Java - リストの先頭で特定の整数を移動するにはどうすればいいですか?
- 25. MATLABでは、セル配列の各文字列の先頭に文字列を挿入するにはどうすればよいですか?
- 26. 連絡先フォームで電子メールヘッダの挿入を防止するにはどうすればよいですか?
- 27. どのように私はアンドロイドでSQLiteのテーブルの先頭に行を挿入するのですか
- 28. オペレータ優先パーザにインデントチェックを挿入するにはどうすればよいですか?
- 29. Python Tkinter - テキストボックスの先頭にテキストを挿入するには?
- 30. 一括挿入のようなテーブルに値を挿入するにはどうすればよいですか?
を試すことができますがそれ以外の場合は、スタックは、この目的のために設計されて、観察可能であるためにあなたのコレクションが必要です。 –