Example #1
0
 public ControlDetailsViewModel(Control control)
 {
     if (control != null)
     {
         Properties = control.GetRegisteredProperties()
                      .Select(x => new PropertyDetails(control, x))
                      .OrderBy(x => x.Name)
                      .OrderBy(x => x.IsAttached);
     }
 }
 public ControlDetailsViewModel(Control control)
 {
     if (control != null)
     {
         Properties = control.GetRegisteredProperties()
             .Select(x => new PropertyDetails(control, x))
             .OrderBy(x => x.Name)
             .OrderBy(x => x.IsAttached);
     }
 }
Example #3
0
        private static void PrintVisualTree(IVisual visual, StringBuilder builder, int indent)
        {
            Control control = visual as Control;

            builder.Append(Indent(indent - 1));

            if (indent > 0)
            {
                builder.Append(" +- ");
            }

            builder.Append(visual.GetType().Name);

            if (control != null)
            {
                builder.Append(" ");
                builder.AppendLine(control.Classes.ToString());

                foreach (var property in control.GetRegisteredProperties())
                {
                    var value = control.GetDiagnostic(property);

                    if (value.Priority != BindingPriority.Unset)
                    {
                        builder.Append(Indent(indent));
                        builder.Append(" |  ");
                        builder.Append(value.Property.Name);
                        builder.Append(" = ");
                        builder.Append(value.Value ?? "(null)");
                        builder.Append(" [");
                        builder.Append(value.Priority);
                        builder.AppendLine("]");
                    }
                }
            }
            else
            {
                builder.AppendLine();
            }

            foreach (var child in visual.VisualChildren)
            {
                PrintVisualTree(child, builder, indent + 1);
            }
        }