protected internal virtual void OnRefreshFilteredData(MyFilterEventArgs e)
 {
     if (FilteredData != null)
     {
         FilteredData(this, e);
     }
 }
Exemplo n.º 2
0
        void dataProvider_RefreshFilteredData(object sender, MyFilterEventArgs e)
        {
            ObservableCollection <object> col = VisibleData;

            if (col == null)
            {
                return;
            }
            bool f = false;

            if (f)
            {
                col.Clear();
            }
            ChangedFromViewModel = false;
            if (e.IsVisible)
            {
                if (col.Contains(e.Node.Content))
                {
                    ChangedFromViewModel = true;
                    return;
                }
                else
                {
                    col.Add(e.Node.Content);
                }
            }
            else
            {
                if (col.Contains(e.Node.Content) || NodeToDelete == e.Node.Content)
                {
                    List <object> objectsToRemove = new List <object>();
                    objectsToRemove.AddRange(new TreeListNodeIterator(e.Node.Nodes).Select <TreeListNode, object>(n => n.Content));
                    objectsToRemove.Add(e.Node.Content);
                    foreach (object o in objectsToRemove)
                    {
                        col.Remove(o);
                    }
                    NodeToDelete = null;
                }
            }
            ChangedFromViewModel = true;
        }