Variable height in a table

components[0].properties is not a valid source property name.

Try this instead:

new go.Binding("visible", "components", function(a) { return !!a[0].properties; })

Regarding your main question, I would remove the “Vertical” Panel – it seems useless to me because it only has one element in it. (It’s hard to tell, since you didn’t format your code using Code Formatting. )