Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

FrameworkElement.UseLayoutRounding (Propiedad)

Obtiene o establece un valor que indica si debe aplicarse el redondeo del diseño al tamaño y a la posición de este elemento durante la fase de diseño.

Espacio de nombres:  System.Windows
Ensamblado:  PresentationFramework (en PresentationFramework.dll)
XMLNS para 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" .../>

Valor de propiedad

Tipo: System.Boolean
Es true si se aplica el redondeo del diseño; de lo contrario, es false. El valor predeterminado es false.

Cuando la propiedad UseLayoutRounding para un elemento es true, todos los valores de píxel no integrales calculados durante los pasos Arrange y Measure se redondean a valores de píxel enteros.

Elementos secundarios heredan esta propiedad.

NotaNota

Debe establecer UseLayoutRounding en true en el elemento raíz. El sistema de diseño agrega coordenadas secundarias a las coordenadas primarias; por consiguiente, si las coordenadas primarias no están en un límite de píxeles, las coordenadas secundarias tampoco lo estarán. Si UseLayoutRounding no se puede establecer en la raíz, establezca SnapsToDevicePixels en el elemento secundario para obtener el efecto que desea.

Los objetos de dibujo en límites del píxel eliminan los perímetros semitransparentes generados por suavizado de contorno cuando un borde cae en medio de un píxel del dispositivo. En la ilustración siguiente se muestra el resultado de una línea con un grosor de un solo píxel que se encuentra en medio de un píxel del dispositivo. La línea de la izquierda no usa el redondeo del diseño y aparece con suavizador (anti-aliased). La línea de la derecha usa el redondeo de diseño.

Línea suavizada de contorno comparada con línea de un solo pixel.

Al usar el redondeo del diseño y dimensionado Star, el sistema del diseño crea variaciones pequeñas en las medidas de columnas o filas para evitar la representación de subpíxeles. Por ejemplo, si una cuadrícula tiene un ancho total de 100 con 3 columnas cada uno de tamaño Star, en lugar de crear tres columnas que tengan un ancho de 33,3, el sistema de diseño crea 2 columnas que tienen un ancho de 33 y una que tiene un ancho de 34.

En el ejemplo siguiente se muestra el efecto de la propiedad UseLayoutRounding en una línea con un grosor de un solo píxel. La línea de la izquierda no usa el redondeo de diseño pero la línea de la derecha sí usa el redondeo de diseño. Si cambia el tamaño de la ventana despacio, puede ver la diferencia que aporta el redondeo del diseño.


<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

Compatible con: 4

.NET Framework Client Profile

Compatible con: 4

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft