Проблемы рендеринга WPF DPI с двумя границами

Enviroment

Win 8, VS 2012, .NET 4, WPF, собственное разрешение экрана 1920x1080 @ 96DPI

XAML

<Border BorderThickness="1" BorderBrush="Red" Width="20" Height="20">
    <Border BorderThickness="1" BorderBrush="Blue" />
</Border>

Проблема

Границы выглядят хорошо, когда DPI равен 96, но если я изменю DPI на 120, границы больше не будут идеально выровнены по пикселям.

Что я пробовал

1) Установка следующих свойств -RenderOptions.EdgeMode="Aliased" SnapsToDevicePixels="True" UseLayoutRounding="True" - на обеих границах смягчает проблемы сглаживания и кровотечения из более высокого DPI, но внутренняя граница, кажется, имеет отступ в 1 пиксель, обычно с правой и нижней сторон.

2) Следующий код не помогает обойти проблему:

<Grid Width="20" Height="20">
    <Border BorderThickness="1" BorderBrush="Red" />
    <Border BorderThickness="1" BorderBrush="Blue" Margin="1" />
</Grid>

3) Использование прямоугольников вместо границ имеет ту же проблему.

4) Проблема также сохраняется при гостевой Win 7, запущенной в VirtualBox.

5)редактировать - Это выглядит немного лучше, поскольку здесь нет внутреннего поля, но внешняя граница имеет толщину 2 пикселя:

<Canvas Width="20" Height="20">
    <Polygon Points="0,0 20,0, 20,20, 0,20" StrokeThickness="1" Stroke="Red" RenderOptions.EdgeMode="Aliased" SnapsToDevicePixels="True" UseLayoutRounding="True" />
    <Polygon Points="1,1 19,1, 19,19, 1,19" StrokeThickness="1" Stroke="Blue" RenderOptions.EdgeMode="Aliased" SnapsToDevicePixels="True" UseLayoutRounding="True" />
</Canvas>

Вопросов)

Как сделать так, чтобы границы были идеальными для пикселей без каких-либо внутренних полей или сглаживания / кровотечения?

Я не могу использовать выделенный код для переделки размеров границ, когда DPI отличается от 96. Я должен придерживаться только XAML, потому что я пытаюсь создавать векторные иконки (на основе XAML).

Ответы на вопрос(1)

Ваш ответ на вопрос