Der folgende Code:Warum gibt es eine Lücke zwischen der Grenze und dem Hintergrund der Grenze in WPF?
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Border Background="Red">
<Border BorderThickness="10" BorderBrush="Black" Background="Black"/>
</Border>
</Grid>
</Window>
erzeugt die folgende Ausgabe (.NET 4.6.1 Windows 10):
Die rote Linie sollte nicht da sein. Es scheint eine Lücke zwischen der Grenze der zweiten Grenze und dem Hintergrund der zweiten Grenze zu sein. Ich habe versucht, SnapsToDevicePixels
auf True
zu setzen, aber es ändert sich nicht.
UPDATE
Wie in den Antworten vorgeschlagen, scheint RenderOptions.EdgeMode="Aliased"
um das Problem zu lösen. Aber in der Tat denke ich, es ist besser, einen Bug in WPF hervorzuheben. Da nun der folgende Code:
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
RenderOptions.EdgeMode="Aliased"
SnapsToDevicePixels="True"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Border Background="Red">
<Border Margin="10" BorderThickness="1" BorderBrush="Black">
<Grid Background="Black"/>
</Border>
</Border>
</Grid>
</Window>
Ich habe Ihren Code in ein WPF-Projekt kopiert, und ich habe diese rote Linie nicht erhalten, Sie könnten etwas anderes haben, das Ihre Grafik verändert. Ich nehme an, Sie haben nicht den ganzen Code hinzugefügt, um die Frage zu vereinfachen. – Tuco
Ich habe in ein brandneues Projekt in VS2015 kopiert und es zeigt sich dort. Edit: Design-Modus nur, wenn ich es ausführen gibt es keine rote. –
Sie verwenden W10, ich nehme auch @AdamSills an, ich benutze W7, also hängt es davon ab, wie das OS die Visuals behandelt, ich bin ein Ignorant auf diesem Feld – Tuco