Hi Len,
Good question. This will probably come up with another team that we've been working with, too.
I'm assuming you still want to let the user select the disabled node. So I see a couple of options.
#1: You could override D2dGraphAdapter's GetStyle(object) method, below. The 'object' will be your circuit element. You could call the base method and if the result is "Hot" (which means the user has moused over the element), then test if that circuit element is disabled and if so, return the DiagramDrawingStyle.Normal enum value.
/// <summary>
/// Gets the current rendering style for an item</summary>
/// <param name="item">Rendered item</param>
/// <returns>Rendering style set by SetStyle, Normal if no override is set</returns>
public virtual DiagramDrawingStyle GetStyle(object item)
{
// Give the renderer an opportunity to override our style selection.
DiagramDrawingStyle result = m_renderer.GetCustomStyle(item);
if (result != DiagramDrawingStyle.None)
return result;
result = DiagramDrawingStyle.Normal;
#2 As you can see in the top of the above method, your renderer (D2dCircuitRenderer) has a GetCustomStyle() method. It's possible to set the style on a per-element basis. See the D2dGraphRenderer's SetCustomStyle(), ClearCustomStyle() and GetCustomStyle() methods.
Hope that helps!
--Ron