public static VisualTreeObject Create(DependencyObject o) {
VisualTreeObject visualTreeObj = null;
UIThreadHelper.Instance.Invoke(() => {
visualTreeObj = new VisualTreeObject();
visualTreeObj.Name = o.GetType().Name;
visualTreeObj.Properties = VisualTreeProperty.GetProperties(o).Where(p => SupportedWpfProperties.IsSupported(p.Name)).ToList();
visualTreeObj.Children = GetChildren(o);
});
return visualTreeObj;
}