Hi Stoyan, and thanks for your help.
I ended up sticking with "DiagramView.Behavior = DoNothing", and adding a Diagram_NodeClicked event handler that made the node selected. But then to avoid the mouse cursor showing various different things over the selected node, I had to add this to the initialization:
// Assume that read-only mode is wanted. This involves nulling out some cursor values.
_diagramView.Behavior = Behavior.DoNothing;
_diagramView.ModificationStart = ModificationStart.SelectedOnly;
_diagramView.CounterDiagonalResizeCursor = null;
_diagramView.DiagonalResizeCursor = null;
_diagramView.HorizontalResizeCursor = null;
_diagramView.MoveCursor = null;
_diagramView.VerticalResizeCursor = null;
Now it's working OK: the diagram is read-only, but the user can still select nodes, which is necessary for other functions in my program.
You know, this is another aspect of the "problem" that MindFusion wants to consider selection as being part of the diagram's data, while for my use at least, selection is an operational aspect of the program and not part of the diagram's data. We've already been into this discussion once regarding selection and the "dirty" flag. (And thanks for the coming resolution of that.)
May I suggest / request an overall property: "selection is NOT to be considered part of the diagram's data". Then:
1. Changes in selection do not affect the "dirty" flag.
2. Making the diagram read-only does not have any influence on selection processing.
3. Saving or serializing the diagram does not include any selection information.
Just a suggestion.
Thanks again for your help.