TryGetVertexFromPoint
(
Point point,
out IVertex vertex
)
{
AssertValid();
vertex = null;
if (m_oAllVertexDrawingVisuals == null)
{
// The graph hasn't been drawn yet.
return (false);
}
// The vertices are represented by DrawingVisual child objects of
// m_oAllVertexDrawingVisuals.
HitTestResult oHitTestResult =
m_oAllVertexDrawingVisuals.HitTest(point);
if (oHitTestResult != null)
{
DependencyObject oVisualHit = oHitTestResult.VisualHit;
if ( typeof(DrawingVisual).IsInstanceOfType(oVisualHit) )
{
// Retrieve the vertex.
vertex = RetrieveVertexFromDrawingVisual(
(DrawingVisual)oVisualHit);
return (true);
}
}
return (false);
}