private void UpdateNodeSizes()
{
var nodeSize = this._layoutOptions.NodeSize;
foreach (var node in this._nodes)
{
if (node.State == GraphNode.StateEnum.Minimized)
{
node.SetRenderScale(1, 1);
continue;
}
double localSize = node.ActualRadius * 2;
if (localSize != 0)
{
// HACK: Apply node size as a render transform.
// TODO: Modify a property on the node itself instead, so it can handle
// minimized and normal sizes correctly.
double scaleNeeded = nodeSize / localSize;
node.RenderTransform = new ScaleTransform(scaleNeeded, scaleNeeded);
}
}
}