Width (Propiedad)

FrameworkElement.Width (Propiedad)

Actualización: noviembre 2007

Obtiene o establece el ancho del elemento. Se trata de una propiedad de dependencia.

Espacio de nombres:  System.Windows
Ensamblado:  PresentationFramework (en PresentationFramework.dll)
XMLNS para XAML: http://schemas.microsoft.com/winfx/xaml/presentation

[TypeConverterAttribute(typeof(LengthConverter))]
[LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable)]
public double Width { get; set; }
/** @property */
/** @attribute TypeConverterAttribute(LengthConverter) */
/** @attribute LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable) */
public final double get_Width()
/** @property */
/** @attribute TypeConverterAttribute(LengthConverter) */
/** @attribute LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable) */
public final  void set_Width(double value)

public final function get Width () : double
public final function set Width (value : double)
<object Width="double"/>
- or –
<object Width ="qualifiedDouble"/>
- or -
<object Width ="Auto"/>
double
                    Double
                
                    Representación de cadena de un valor de tipo Double igual o mayor que 0,0. Vea la sección Comentarios para obtener información sobre los límites superiores. Este valor se interpreta como una medida de unidad independiente de dispositivo (1/96 de pulgada). No es preciso incluir explícitamente separadores decimales en las cadenas. Por ejemplo, el valor 1 es aceptable.
                qualifiedDouble
                    Valor double, descrito anteriormente, seguido de una de las siguientes cadenas de declaración de unidades: px, in, cm, pt.
                
                    px (valor predeterminado) es unidades independientes de dispositivo (1/96 de pulgada por unidad)
                
                    in significa pulgadas; 1 in==96 px
                
                    cm significa centímetros; 1 cm==(96/2,54) px
                
                    pt significa puntos; 1 pt==(96/72) px
                Auto
                    Habilita el comportamiento del ajuste automático de tamaño. Vea Comentarios.
                

Valor de propiedad

Tipo: System.Double
Ancho del elemento, en unidades independientes de dispositivo (1/96 de pulgada por unidad). El valor predeterminado es Double.NaN. Este valor debe ser mayor o igual que 0,0. Vea la sección Comentarios para obtener información sobre los límites superiores.

Campo identificador

WidthProperty

Propiedades de metadatos establecidas en true

AffectsMeasure

Ésta es una de las tres propiedades de FrameworkElement que especifican información de ancho. Las otras dos son MinWidth y MaxWidth. Si existe un conflicto entre estos valores, el orden de aplicación para determinar el ancho real es: primero se debe aplicar la propiedad MinWidth, después la propiedad MaxWidth y, finalmente, si cada una de ellas está dentro de los límites, la propiedad Width.

El valor devuelto de esta propiedad siempre es igual que cualquier valor que estuviera establecido en ella. Por el contrario, el valor de ActualWidth puede variar. El diseño puede haber rechazado el tamaño sugerido por alguna razón. Asimismo, el propio sistema de diseño funciona de forma asincrónica respecto al conjunto del sistema de propiedades de Width y puede no haber procesado aún esa propiedad de ajuste de tamaño concreta.

Además de los valores Double aceptables, esta propiedad también puede ser Double.NaN. Así se especifica el comportamiento de ajuste de tamaño automático. En XAML se establece el valor en la cadena "Automático" (sin distinción entre mayúsculas y minúsculas) para habilitar el comportamiento de ajuste de tamaño automático. El comportamiento de ajuste de tamaño automático implica que el elemento rellenará el ancho disponible para él. Sin embargo, observe que controles concretos proporcionan frecuentemente valores predeterminados en sus estilos predeterminados, que deshabilitan el comportamiento de ajuste de tamaño automático a menos que se vuelva a habilitar específicamente.

Además de la comprobación de la validación, hay un valor superior no determinista enlazado para Width que el sistema de diseño aplica (éste es un número muy grande, mayor que Single.MaxValue pero menor que Double.MaxValue). Si supera este límite, el elemento no se representará y no se produce ninguna excepción. No establezca Width en un valor significativamente mayor que el tamaño máximo de cualquier posible presentación visual; de lo contrario, puede superar este límite superior no determinista.

En este ejemplo se muestran los distintos comportamientos de representación de las cuatro propiedades de Windows Presentation Foundation (WPF) que están relacionadas con el ancho.

La clase FrameworkElement expone cuatro propiedades que describen las características de ancho de un elemento. Estas cuatro propiedades pueden generar conflictos y, en ese caso, el valor que tiene prioridad se determina de la manera siguiente: el valor de MinWidth tiene prioridad sobre el valor de MaxWidth, que a su vez tiene prioridad sobre el valor de Width. La cuarta propiedad, ActualWidth, es de sólo lectura.

En los siguientes ejemplos de Lenguaje de marcado de aplicaciones extensible (XAML) se dibuja un elemento Rectangle (rect1) como un elemento secundario de Canvas. Puede cambiar las propiedades de ancho de Rectangle por medio de una serie de controles ListBox que representan los valores de propiedad de MinWidth, MaxWidth y Width. De esta manera, la prioridad de cada propiedad se muestra visualmente.

<Canvas Height="200" MinWidth="200" Background="#b0c4de" VerticalAlignment="Top"  HorizontalAlignment="Center" Name="myCanvas">
    <Rectangle HorizontalAlignment="Center" Canvas.Top="50" Canvas.Left="50"  Name="rect1" Fill="#4682b4" Width="100" Height="100"/>
</Canvas>


...

    <TextBlock Grid.Row="1" Grid.Column="0" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle Width:</TextBlock>
    <ListBox Grid.Column="1" Grid.Row="1" Margin="10,0,0,0" Width="50" Height="50" SelectionChanged="changeWidth">
      <ListBoxItem>25</ListBoxItem>
      <ListBoxItem>50</ListBoxItem>
      <ListBoxItem>75</ListBoxItem>
      <ListBoxItem>100</ListBoxItem>
      <ListBoxItem>125</ListBoxItem>
      <ListBoxItem>150</ListBoxItem>
      <ListBoxItem>175</ListBoxItem>
      <ListBoxItem>200</ListBoxItem>
      <ListBoxItem>225</ListBoxItem>
      <ListBoxItem>250</ListBoxItem>
    </ListBox>

	<TextBlock Grid.Row="1" Grid.Column="2" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle MinWidth:</TextBlock>
    <ListBox Grid.Column="3" Grid.Row="1" Margin="10,0,0,0" Width="50" Height="50" SelectionChanged="changeMinWidth">
      <ListBoxItem>25</ListBoxItem>
      <ListBoxItem>50</ListBoxItem>
      <ListBoxItem>75</ListBoxItem>
      <ListBoxItem>100</ListBoxItem>
      <ListBoxItem>125</ListBoxItem>
      <ListBoxItem>150</ListBoxItem>
      <ListBoxItem>175</ListBoxItem>
      <ListBoxItem>200</ListBoxItem>
      <ListBoxItem>225</ListBoxItem>
      <ListBoxItem>250</ListBoxItem>
  </ListBox>      

    <TextBlock Grid.Row="1" Grid.Column="4" Margin="10,0,0,0" TextWrapping="Wrap">Set the Rectangle MaxWidth:</TextBlock>
    <ListBox Grid.Column="5" Grid.Row="1" Margin="10,0,0,0" Width="50" Height="50" SelectionChanged="changeMaxWidth">
      <ListBoxItem>25</ListBoxItem>
      <ListBoxItem>50</ListBoxItem>
      <ListBoxItem>75</ListBoxItem>
      <ListBoxItem>100</ListBoxItem>
      <ListBoxItem>125</ListBoxItem>
      <ListBoxItem>150</ListBoxItem>
      <ListBoxItem>175</ListBoxItem>
      <ListBoxItem>200</ListBoxItem>
      <ListBoxItem>225</ListBoxItem>
      <ListBoxItem>250</ListBoxItem>  
    </ListBox>


Los siguientes ejemplos de código subyacente permiten controlar los eventos que provoca el evento SelectionChanged. Cada método personalizado acepta la entrada de ListBox, analiza el valor como Double y aplica el valor a la propiedad relacionada con el ancho especificada. Los valores de ancho también se convierten en cadena y se escriben en un elemento TextBlock denominado txt1.

private void changeWidth(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.Width = sz1;
    rect1.UpdateLayout();
    txt1.Text = "ActualWidth is set to " + rect1.ActualWidth;
    txt2.Text = "Width is set to " + rect1.Width;
    txt3.Text = "MinWidth is set to " + rect1.MinWidth;
    txt4.Text = "MaxWidth is set to " + rect1.MaxWidth;
}
private void changeMinWidth(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MinWidth = sz1;
    rect1.UpdateLayout();
    txt1.Text = "ActualWidth is set to " + rect1.ActualWidth;
    txt2.Text = "Width is set to " + rect1.Width;
    txt3.Text = "MinWidth is set to " + rect1.MinWidth;
    txt4.Text = "MaxWidth is set to " + rect1.MaxWidth;
}
private void changeMaxWidth(object sender, SelectionChangedEventArgs args)
{
    ListBoxItem li = ((sender as ListBox).SelectedItem as ListBoxItem);
    Double sz1 = Double.Parse(li.Content.ToString());
    rect1.MaxWidth = sz1;
    rect1.UpdateLayout();
    txt1.Text = "ActualWidth is set to " + rect1.ActualWidth;
    txt2.Text = "Width is set to " + rect1.Width;
    txt3.Text = "MinWidth is set to " + rect1.MinWidth;
    txt4.Text = "MaxWidth is set to " + rect1.MaxWidth;
}


Para obtener el ejemplo completo, vea Ejemplo Width Properties Comparison.

Windows Vista

.NET Framework y .NET Compact Framework no admiten todas las versiones de cada plataforma. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

.NET Framework

Compatible con: 3.5, 3.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2016 Microsoft