Click here to Skip to main content
12,242,812 members (41,827 online)
Click here to Skip to main content

Stats

109.2K views
6 downloads
49 bookmarked
Posted

Mole II for WPF

, , , 31 Dec 2007 CPOL
Introduces the second version of a very useful and educational debugger visualizer for WPF developers.
Mole_Visualizer_2_1_1_VS2008_SourceAndTestProject.zip
Mole_Visualizer_2_1_1_VS2005_SourceAndTestProject.zip
Mole_Visualizer_2_1_1_VS2005_Release.zip
Mole_Visualizer_2_1_1_VS2008_Release.zip
Mole.Visualizer.dll
Mole.Visualizer
Custom Controls
Data Source
Image Processing
Data
Debugger Visualizer
Enums Constants
Event Args
Extended Controls
Images
MoleVisualUnavailable.gif
Mole.Visualizer.csi
Mole.Visualizer.suo
Mole.Visualizer.vbproj.user
My Project
Application.myapp
Settings
Visualizer UI
XSLT
Mole.TestBench
bach.jpg
Mole.TestBench.csi
Mole.TestBench.suo
My Project
Mole.Visualizer.dll
bach.jpg
Mole.TestBench.csi
Mole.TestBench.suo
MoleVisualUnavailable.gif
Mole.Visualizer.csi
Mole.Visualizer.suo
Mole.Visualizer.vbproj.user
Application.myapp
Mole.Visualizer.dll
MoleVisualUnavailable.gif
Mole.Visualizer.csi
Mole.Visualizer.suo
Mole.Visualizer.vbproj.user
Application.myapp
bach.jpg
Mole.TestBench.csi
Mole.TestBench.suo
Mole.Visualizer.dll
MoleVisualUnavailable.gif
Mole.Visualizer.csi
Mole.Visualizer.suo
Mole.Visualizer.vbproj.user
Application.myapp
bach.jpg
Mole.TestBench.csi
Mole.TestBench.suo
Mole.Visualizer.dll
MoleVisualUnavailable.gif
Mole.Visualizer.csi
Mole.Visualizer.suo
Mole.Visualizer.vbproj.user
Application.myapp
bach.jpg
Mole.TestBench.csi
Mole.TestBench.suo
Mole.Visualizer.dll
MoleVisualUnavailable.gif
Mole.Visualizer.csi
Mole.Visualizer.suo
Mole.Visualizer.vbproj.user
Application.myapp
bach.jpg
Mole.TestBench.csi
Mole.TestBench.suo
Imports System.Windows

' This class stores data used in the Logical Tree tab.
<Serializable()> _
Public NotInheritable Class LogicalTreeInfo

#Region " Public Declarations "

    ''' <summary>
    ''' The type name of the ancestor element of the original element, which is
    ''' in a logical tree.  It is possible that this element is the same as the
    ''' original element, provided that the original element is in a logical tree.
    ''' </summary>
    ''' <remarks></remarks>
    Public ReadOnly ClosestLogicalAncestor As String

    ''' <summary>
    ''' The type name of the element whose logical tree was requested.  Note,
    ''' this element is not necessarily in a logical tree, but it has an
    ''' ancestor element that is in a logical tree.
    ''' </summary>
    ''' <remarks></remarks>
    Public ReadOnly OriginalElement As String

    ''' <summary>
    ''' The type name of the element returned by the TemplatedParent property of the original element.
    ''' </summary>
    ''' <remarks></remarks>
    Public ReadOnly TemplatedParentOfClosestLogicalAncestor As String

#End Region

#Region " Constructor "

    Public Sub New(ByVal depObjOriginalElement As DependencyObject, ByVal depObjClosestLogicalAncestorOfOriginalElement As DependencyObject, ByVal depObjTemplatedParentOfClosestLogicalAncestor As DependencyObject)

        If depObjOriginalElement IsNot Nothing Then
            OriginalElement = depObjOriginalElement.GetType().Name

        Else
            OriginalElement = "(null)"
        End If

        If depObjClosestLogicalAncestorOfOriginalElement IsNot Nothing Then

            If depObjClosestLogicalAncestorOfOriginalElement Is depObjOriginalElement Then
                ClosestLogicalAncestor = "(self)"

            Else
                ClosestLogicalAncestor = depObjClosestLogicalAncestorOfOriginalElement.GetType().Name
            End If

        Else
            ClosestLogicalAncestor = "(null)"
        End If

        If depObjTemplatedParentOfClosestLogicalAncestor IsNot Nothing Then
            TemplatedParentOfClosestLogicalAncestor = depObjTemplatedParentOfClosestLogicalAncestor.GetType().Name

        Else
            TemplatedParentOfClosestLogicalAncestor = "(null)"
        End If

    End Sub

#End Region

End Class

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Authors

Andrew Smith
Architect Infragistics, Inc.
United States United States
Andrew currently works as an architect for Infragistics working with windows forms and WPF. You can check out his blog here.

Josh Smith
Software Developer (Senior) Cynergy Systems
United States United States
Josh creates software, for iOS and Windows.

He works at Cynergy Systems as a Senior Experience Developer.

Read his iOS Programming for .NET Developers[^] book to learn how to write iPhone and iPad apps by leveraging your existing .NET skills.

Use his Master WPF[^] app on your iPhone to sharpen your WPF skills on the go.

Check out his Advanced MVVM[^] book.

Visit his WPF blog[^] or stop by his iOS blog[^].

Karl Shifflett
Architect
United States United States

Current passions are: Electron, ES6, Node.js, Angular, Aurelia, hybrid, Socket.IO, MQTT, and IoT.

Still keen on WPF and Prism, but currently Electron and ES6 deliver the same apps with much better performance, and they are cross-platform.

My Github Repros

Just a grain of sand on the worlds beaches.


You may also be interested in...

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.160426.1 | Last Updated 31 Dec 2007
Article Copyright 2007 by Andrew Smith, Josh Smith, Karl Shifflett
Everything else Copyright © CodeProject, 1999-2016
Layout: fixed | fluid