/// <summary> /// 得到对象的路径,以路径分隔符分隔。 /// </summary> /// <param name="stopObject"> /// 搜索到指定的祖先对象,就停止路径的搜索。路径中不包括 stopObject 的信息。 /// 搜索过程中如果碰到非 ViNamedObject 类型的对象,或者对象的名称为空时, /// 也会主动停止路径的递归。 /// </param> /// <returns>对象路径</returns> public virtual string GetPath(ViObject stopObject) { // 从自己开始 ViNamedObject obj = this; string path = obj.Name; while (true) { // 已经到了指定的祖先对象? if (obj.Parent == stopObject) { break; } // 必须要是有名字的对象 obj = obj.Parent as ViNamedObject; if (obj == null) { break; } if (string.IsNullOrEmpty(obj.Name)) { break; } // 形成路径名称 path = obj.Name + PathSeperator + path; } return(path); }
public ViPropertyChangedEventArgs(ViObject owner, uint changeType, DependencyPropertyChangedEventArgs e) { this.Owner = owner; this.ChangeType = changeType; this.e = e; }
public void SetParent(ViObject parent) { this.Parent = parent; }