How can I set the intial positon of the relayout subgraph?

My costomers want to relayout the nodes that are in seletion,so when nodes are seleted,I set the the others nodes that are not seleted LayoutId=null,and I get the effect that nodes who are seleted will be relayout when I press a button.
However,When I relayout the subgraph,it always moved to the center.My customers want to let it stay in the position where it was before.
Following are my illustrations:
First of all : I seleted some nodes:

Secondly: I pressed a button to relayout these nodes,but it moved to the unexpected position.

Following is the expected position:

How can I do ?

Most layouts position the results so that the top-left corner of the collection of arranged nodes is at DiagramLayout.ArrangementOrigin. That property defaults to (0,0), which is probably accounting for what you are getting.

So set DiagramLayout.ArrangementOrigin to be where you want before you perform the layout.

Thx walter,it worked!