Progamatically reading a node from the model

is there a way to read a specific node from the model property of the diagram? Perhaps passing in a key for a specific node

Do you already have the node data? If not, you can call …Model.FindNodeByKey to get the node data given a key value.

Once you have the node data, you can call Diagram.PartManager.FindNodeForData to get the diagram Node.

Is there any way to change the text of the node programatically not by clicking on the node?? I want to rename the node text by typing the text from the textbox in properties window.


If the TextBlock.Text is data-bound to some property in your node data, then you should just change that node data property. In fact, you probably ought to set the DataContext of your properties window to be your node data. That way all of your controls in your properties window can be simply data-bound to node data properties.

If the TextBlock.Text is not data-bound, then you can set it directly. You can use Part.FindNamedDescendant to find a particular named element within your Node.

I am not able to find the property name Part.FindNamedDescendant.

It is not showing in the properties list. I have the latest version for Silverlight 4.0. Could you please explore?

Member names that start with an active verb, such as “Find”, are usually methods.

There is not any method name Part.FindNamedDescendant. See the below screenshot:-

First, Intellisense is notoriously unreliable. You should use the documentation:

Second, what you were doing was looking for only static members on the Part class. You really should only consider Intellisense when using it in the context of the actual code:

Thanks a lot!! it works Smile