2011-01-13 11 views
6

Nella mia finestra c'è una piccola linea nera. Perché?C# WPF - Black Line nella finestra

Screenshot

<Window x:Class="WpfPortOfTestingCamera.InputSelection" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="InputSelection" WindowStartupLocation="CenterOwner" ResizeMode="NoResize" ShowInTaskbar="False" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" SizeToContent="WidthAndHeight" d:DesignWidth="280" d:DesignHeight="206"> 

     <StackPanel HorizontalAlignment="Center" Name="stackPanel1" VerticalAlignment="Top" Margin="10" MaxWidth="500"> 
      <GroupBox Header="Select Camera" HorizontalAlignment="Center" VerticalAlignment="Center"> 
       <ComboBox Height="23" Name="comboBox1" HorizontalAlignment="Center" VerticalAlignment="Center" MinWidth="120" /> 
      </GroupBox> 
      <Button Content="OK" Name="ButtonOK" IsDefault="True" Click="ButtonOK_Click" /> 
     </StackPanel> 
</Window> 

risposta

9

Sembra essere un manufatto di rendering che si verifica quando la finestra viene ridimensionata alla larghezza della vostra casella combinata quando è impostata la stringa di contenuto.

Se si aggiunge l'attributo SnapsToDevicePixels = "True" al tag Window, la linea nera scompare.

+0

C'è qualche svantaggio nell'usare SnapsToDevicePixels = "True"? – Hooch

+0

In realtà non lo so, ma sospetto che le prestazioni potrebbero essere influenzate in qualche modo. –

+0

Il lato negativo è che se si inseriscono solo SnapToDevicePixels su alcuni nodi di Visual Tree, altri potrebbero essere ancora sottoposti a rendering in posizione sub-pixel. Ciò rovinerà gli allineamenti degli oggetti l'uno rispetto all'altro. Ho scritto un post sul passare questo utilizzando UseLayoutRounding: http://net-fx.blogspot.com/2011/04/getting-crisp-back-into-your-wpf-apps.html ... HTH –

Problemi correlati