2017-01-24 4 views
2

私は境界線の中に非常に単純なドックパネルを持っています。しかし、ドックパネルの右下に1ピクセルの余裕があるようです。マージンやドックパネルを設定したり、ボーダーのパディングを設定したりすることで、それを取り除くことはできません。WPF Dock Panel wierd magin

まさにそれを引き起こしていると私は(ドックパネル上すなわち負のマージン)

<Window x:Class="WPFTest.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" 
     Height="350" Width="525"> 
    <Grid> 
     <Border BorderBrush="Black" BorderThickness="2" Padding="0"> 
      <DockPanel Background="Blue" Margin="0"/> 
     </Border> 
    </Grid> 
</Window> 

enter image description here

国境やDockPanelに定義されていませんスタイル、それをハッキングすることなく、それをどのように修正することができますどのような。新しいプロジェクトでこれを試しても白い線が表示される

+0

これは興味深いアーティファクトです。私はあなたの正確なXAMLを私のプロジェクトに貼り付け、期待通りに表示します。白い隙間はありません。あなたは物を投げ捨てている他の容器の中にそのボーダーを持っていますか? – Stewbob

+0

より多くのXAMLを共有できますか?どこにScaleTransformが適用されていますか? –

+0

@EdPlunkettは、そのウィンドウのすべてのxamlです。 MainWindow.xamlが1つしかない新しく作成されたプロジェクトです – Steve

答えて

1

通常、XAMLのようなギャップは、UIが拡大縮小されているためです。サイズを変更しているものが見つからない場合は(RenderTransform親、フォントサイズなどのOS設定、おそらく他のもの)、UseLayoutRounding and SnapsToDevicePixelsで試してみることができます。