예제 #1
0
 public IDataTreeNode ReplaceChildNode(IDataTreeNode child, object name, IDataTreeNode oldChild)
 {
     if (name == null)
     {
         throw new InvalidOperationException("DataTreeNode is not a container and cannot contain children.");
     }
     Debug.Assert(name is string);
     return((IDataTreeNode)Set(new DataTreeNodeSet((string)name, _ => child)));
 }
예제 #2
0
 /// <summary>Finds the TV item.</summary>
 /// <param name="source">The source.</param>
 /// <param name="dtn">The DTN.</param>
 /// <returns></returns>
 public static TreeViewItem FindTVItem(this TreeView source, IDataTreeNode dtn)
 {
     if (source.HasItems && dtn != null)
     {
         TreeViewItem           tvi = null;
         ItemContainerGenerator icg = source.ItemContainerGenerator;
         foreach (var d in dtn.EnumerateFromTop())
         {
             tvi = icg.ContainerFromItem(d) as TreeViewItem;
             if (tvi == null)
             {
                 return(null);
             }
             icg = tvi.ItemContainerGenerator;
         }
         return(tvi);
     }
     else
     {
         return(null);
     }
 }
예제 #3
0
 public IDataTreeNode RemoveChildNode(IDataTreeNode child)
 {
     return(RemoveChild((SimisTreeNode)child));
 }
예제 #4
0
 public IDataTreeNode ReplaceChildNode(IDataTreeNode child, object name, IDataTreeNode oldChild)
 {
     return(ReplaceChild((SimisTreeNode)child, (SimisTreeNode)oldChild));
 }
예제 #5
0
 public IDataTreeNode InsertChildNode(IDataTreeNode child, IDataTreeNode before)
 {
     return(InsertChild((SimisTreeNode)child, (SimisTreeNode)before));
 }
예제 #6
0
 public IDataTreeNode AppendChildNode(IDataTreeNode child)
 {
     return(AppendChild((SimisTreeNode)child));
 }
예제 #7
0
 public DataTreePathStep(object name, IDataTreeNode node)
 {
     Name = name;
     Node = node;
 }
예제 #8
0
 public IDataTreeNode RemoveChildNode(IDataTreeNode child)
 {
     throw new NotImplementedException();
 }
예제 #9
0
 public IDataTreeNode InsertChildNode(IDataTreeNode child, IDataTreeNode before)
 {
     throw new NotImplementedException();
 }