Рекурсивно. Я так понимаю у тебя список TreeViewNode's соответственно чтобы найти всех родителей, тебе нужна функция которая будет принимать один экземпляр TreeViewNode, и отдавать список или массив Guid или TreeViewNode (зависит от ситуации).
что-то вроде этого псевдокода
public List<TreeViewNode> nodes = ...;
public List<Guid> GetAllParentsId(Guid Id)
{
List<Guid> response = new List<Guid>();
TreeViewNode current = nodes.FirstOrDefault(n => n.Id == Id);
if(current is null)
{
return response;
}
//response.Add(current);
var mynodes = GetAllParentsId(current.Id);
if(mynodes.Count == 0)
{
return response;
}
response.AddRange(mynodes);
return response;
}