Exportieren (0) Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

FrameworkElement.UseLayoutRounding-Eigenschaft

Ruft einen Wert ab, der angibt, ob die Layoutrundung für die Größe und die Position dieses Elements während des Layouts angewendet werden sol oder ruft diesen Wert ab.

Namespace:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
XMLNS für XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation

public bool UseLayoutRounding { get; set; }
<object UseLayoutRounding="bool" .../>

Eigenschaftswert

Typ: System.Boolean
true , wenn Layoutrundung übernommen wird, andernfalls false. Die Standardeinstellung ist false.

Wenn die UseLayoutRounding-Eigenschaft für ein Element auf true festgelegt ist, werden alle nicht ganzzahligen Pixelwerte, die während der Übergaben von Measure und Arrange berechnet werden, auf ganze Pixelwerte gerundet.

Diese Eigenschaft wird von untergeordneten Elementen geerbt.

HinweisHinweis

Sie sollten UseLayoutRounding für das Stammelement auf true festlegen. Das Layoutsystem fügt den übergeordneten Koordinaten untergeordnete Koordinaten hinzu; wenn daher die übergeordneten Koordinaten nicht auf einer Pixelgrenze sind, sind die untergeordneten Koordinaten auch nicht auf einer Pixelgrenze. Wenn UseLayoutRounding nicht für das oberste Element festgelegt werden kann, legen Sie SnapsToDevicePixels für das untergeordnete Element fest, um den gewünschten Effekt zu erzielen.

Beim Zeichnen von Objekten auf Pixelgrenzen werden die semitransparenten, durch Antialiasing erzeugten Ränder ausgeschlossen, wenn ein Rand auf der Mitte eines Gerätepixels liegt. Die folgende Abbildung zeigt die Ausgabe einer einzelnen Pixelbreitenzeile, die in die Mitte eines Gerätepixels fällt. Die Zeile links verwendet keine Layoutrundung und ist Anti-aliased. Die Zeile rechts verwendet Layoutrundung.

Zeile mit Antialiasing verglichen mit Einzelpixelzeile

Wenn Sie Layoutrundung und Star-Größenanpassung verwenden, erstellt das Layoutsystem kleine Variationen in den Spalten- oder Zeilenmaßen, um ein Subpixelrendering zu vermeiden. Zum Beispiel, wenn ein Raster eine gesamte Breite von 100 mit 3 Spalten jeweils von der Größe Star, statt drei Spalten zu erstellen, die die gleiche Breite von 33.3 haben, erstellt das Layoutsystem 2 Spalten, die eine Breite von 33 haben, und eine, die eine Breite von 34 hat.

Im folgenden Beispiel werden die Auswirkungen der UseLayoutRounding-Eigenschaft auf eine ein Pixel breite Linie veranschaulicht. Die Zeile links verwendet keine Layoutrundung und die Zeile rechts verwendet Layoutrundung. Wenn Sie die Größe des Fensters langsam ändern, können Sie den Unterschied der Layoutrundung sehen.


<Page x:Class="LayoutRounding.Lines"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Lines" Name="linesPage"
    >
  <StackPanel Width="150"  Margin="7" Orientation="Horizontal">
    <!-- Single pixel line with layout rounding turned OFF.-->
    <Rectangle UseLayoutRounding="False"
       Width="45.5" Margin="10" Height="1" Fill="Red"/>
    <!-- Single pixel line with layout rounding turned ON.-->
    <Rectangle UseLayoutRounding="True"
      Width="45.5" Margin="10" Height="1" Fill="Red"/>
  </StackPanel>
  <!-- Background Grid -->
  <Page.Background>
    <DrawingBrush  Viewport="0,0,10,10" ViewportUnits="Absolute" TileMode="Tile">
      <DrawingBrush.Drawing>
        <DrawingGroup>
          <GeometryDrawing Brush="White">
            <GeometryDrawing.Geometry>
              <RectangleGeometry Rect="0,0,1,1" />
            </GeometryDrawing.Geometry>
          </GeometryDrawing>
          <GeometryDrawing Geometry="M0,0 L1,0 1,0.1, 0,0.1Z " Brush="#CCCCFF" />
          <GeometryDrawing Geometry="M0,0 L0,1 0.1,1, 0.1,0Z" Brush="#CCCCFF" />
        </DrawingGroup>
      </DrawingBrush.Drawing>
    </DrawingBrush>
  </Page.Background>
</Page>


.NET Framework

Unterstützt in: 4.5, 4

.NET Framework Client Profile

Unterstützt in: 4

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft