Uma das alternativas citadas no site do SilverSprite,
com o detalhe de qual biblioteca utilizar.
/// <summary>
/// Detalhe: using System.Windows; para encontrar o Rect.
/// </summary>
/// <param name="rectangle"></param>
/// <param name="rectangle2"></param>
/// <returns></returns>
public static bool Intersects(this Rectangle rectangle, Rectangle rectangle2)
{
Rect rect = new Rect
{
X = rectangle.X,
Y = rectangle.Y,
Width = rectangle.Width,
Height = rectangle.Height
};
Rect rect2 = new Rect
{
X = rectangle2.X,
Y = rectangle2.Y,
Width = rectangle2.Width,
Height = rectangle2.Height
};
rect.Intersect(rect2);
return !(rect == Rect.Empty);
}