Select multiple nodes at a time

Hi Walter,

Here are few of my queries

  1. I want a way to select multiple nodes interactively on the canvas, this helps in stacking undo commands in our implementation easily , like this

  2. I need a rotation template to have the refresh handles, am currently using one of them from the sample projects, any example for the same or how it can be customized?

  3. I want to attach a handler on the Node when its created, example MouseRightButtonDown, MouseEnter, MouseLeave etc. I tried doing it after I have assigned the model to the canvas, in layoutCompleted event, but no luck. The visual element is not ready maybe. I then tried in NodeCreated event, which is not firing at all. I used normal drag event to create nodes. Please help on the same. How does NodeCreated event fire? Which is the right place to plugin such handlers?

Lastly , I want my team to be able to use the procured license, so I want a way to install it in the project in a way that its distributable, I used the installation process using the Dev Key and am referring to the GoXam dll from a local folder. Please tell me right way to package and distribute the from a commom installed folder.

  1. Multiple selection is built-in. When clicking a Part, use the Shift modifier to add it to the selection, or use the Control modifier to toggle its selectness. Or do a mouse-down in the background, wait a moment, and then drag. All selectable Parts within the drawn box when the user does a mouse-up will be selected.
  2. Yes, you can start from that sample and modify it for your own purposes.
  3. Did you declare those event handlers in the node template(s)? That should work.
  4. Have you read the Deployment section of the documentation? Basically you just need to put a run-time license key assignment statement in your application initialization code. There are many different ways to distribute applications – we can’t help you there.
  1. I do not want to attach the handlers in template particularly, because they fire each time then. I have use case where I want to display different context menus based on the state of the node, if I attach on the node template then both of them render at a time which is not desirable. Hence I need a way to attach the mouse right click handler at the time of node creation in code behind.

Your event handlers can do nothing if the situation is such that there is nothing to do.

  1. I get what you are saying, am looking for a scenario where I can rotate multiple nodes together, so a common selection box would be helpful with rotate handles, like in the first picture. This is my current goxam nodes selection

Hi Walter,

Regarding the deployment point-

please allow me to rephrase my query. We have a WPF application which uses Northwoods goXam control as a reference to build our diagrams. Multiple developers work on the same application controlled through github. Currently when I download the goXam control from the website, it gets downloaded a zip package inside which the “Northwoods.GoWPF.dll” exists. If I want to reference this dll in my application, I’d have to refer it as a local path, which would not work in other developers’ machines. I’d like to add the GoXam control as a reference into my application with no local paths. With other third-party controls, we give the PublicKeyToken of the installed product to refer the DLL or use it as a Nuget package inside the app. Could you please suggest how I could do something similar or is there any other way?

For rotation, did you want to revolve the multiple nodes around a single (central) point, or did you want each selected node to be rotated around each node’s (central) point?

Yes, most if not all of our customers use the NuGet package to install the DLL.