使用转换器以相反的顺序将堆栈绑定到TreeView

时间:2016-02-29 02:56:07

标签: c# wpf binding treeview stack

我设计了一个允许将堆栈绑定到TreeView的类,除了我需要反向显示集合外,一切都很好。

这是我的Stack类的代码:

public class Stack<T> : BindingList<T>, ICloneable
{
    #region Methods

    public void Push(T item)
    {
        this.Add(item);
    }
    public T Peek()
    {
        if (this.Count > 0)
        {
            T temp = this[this.Count - 1];
            return temp;
        }
        else
            return default(T);
    }
    public T Pop()
    {
        if (this.Count > 0)
        {
            T temp = this[this.Count - 1];
            this.RemoveAt(this.Count - 1);
            return temp;
        }
        else
            return default(T);
    }
    public ObservableCollection<T> ToObservableCollection()
    {
        ObservableCollection<T> o = new ObservableCollection<T>();
        foreach (T t in this)
        {
            o.Add(t);
        }
        return o;
    }
    public List<T> ToList()
    {
        return this.ToList<T>();
    }
    public object Clone()
    {
        return this.MemberwiseClone();
    }

    #endregion

    public Stack() {
    }
}

我这样绑定:

<TreeView ItemsSource="{Binding ListToBind}"/>

如何使用转换器自动撤消项目的顺序?

0 个答案:

没有答案