GoXam StackTrace

Hi,

I am using the Entity Relationship as my base. I got the following exception in GoXam. I realize the problem is in my code but could you give me any idea what could be wrong or how I should debug this.?

Thanks
Rich

at Northwoods.GoXam.Layout.LayeredDigraphLayout.#Rd(Double px, Double py, Double qx, Double qy)
at Northwoods.GoXam.Layout.LayeredDigraphLayout.#Qd(List`1 routables)
at Northwoods.GoXam.Layout.LayeredDigraphLayout.AvoidOrthogonalOverlaps()
at Northwoods.GoXam.Layout.LayeredDigraphLayout.LayoutLinks()
at Northwoods.GoXam.Layout.LayeredDigraphLayout.#j.#W.#hy()
at Northwoods.GoXam.LayoutManager.#fy()

No, the bug must be in our code.

You’ve given a stack trace, but what was the exception?
How/when/what was it invoked?

What routing do your links have? (Orthogonal or AvoidsNodes or Normal)

Does this happen before the diagram is actually visible?

NullReferenceException

            <go:Link.Route>
                <go:Route  Routing="AvoidsNodes" Curve="JumpOver" Curviness="1.0" />
            </go:Link.Route>

executed Diagram.LayoutDiagram()

Crashes before it is visible

Try calling LayoutDiagram() only after the diagram is visible – in other words, only after the Diagram’s ControlTemplate has been applied.

Better yet, don’t call LayoutDiagram() at all. It will be called automatically as part of the initialization process. In GoXam 1.0 the initial layout is always performed; in GoXam 1.1 whether that layout is performed depends on the value of LayoutManager.Initial.

By default the value of LayoutManager.Initial in 1.1 is such that it does a layout only if there are any Nodes without a Location. This makes it much easier than in 1.0 to load an existing graph where all of the nodes are already positioned.

You can get a version 1.0.x DLL that fixes this problem:
http://www.nwoods.com/forum/forum_posts.asp?TID=3038