In C# System.Windows.Rect.IsEmpty doesn’t return what you think it would.
Rect r = new Rect(); r.IsEmpty
Empty has a special meaning, a value that represents a rectangle with no position or area.
The empty rectangle, which has X and Y property values of PositiveInfinity, and has Width and Height property values of NegativeInfinity.
Avoid mathematical computations involving empty rectangles. Because both X and Y are infinite values, processor operations are severely impaired by these operations.
Comparisons involving these values will not affect application performance.