Полупрозрачность, которую вы видите, не вызвана не сплошной границей или границей, которая недостаточно толстая, но сглаживанием.
Установка SnapsToDevicePixels="True"
не решит это, поскольку прямоугольник - это чертежобъект, поэтому вам нужно будет использовать Guidelines
Другой способ - это исправить, поместив линии в середину пикселей:
<Polygon.Points>
<Point X="0.5"
Y="300.5" />
<Point X="50.5"
Y="300.5" />
<Point X="50.5"
Y="0.5" />
<Point X="0.5"
Y="0.5" />
<Point X="0.5"
Y="300.5" />
</Polygon.Points>
Когдакоординаты даны так, что легче решить, какие пиксели включить.Если координата находится между двумя (или более) пикселями, WPF покрасит их все немного.