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.Width (Propiedad)

Obtiene o establece el ancho del elemento.

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

[LocalizabilityAttribute(LocalizationCategory.None, Readability = Readability.Unreadable)]
[TypeConverterAttribute(typeof(LengthConverter))]
public double Width { get; set; }
<object Width="double"/>
- or –
<object Width ="qualifiedDouble"/>
- or -
<object Width ="Auto"/>

Valores XAML

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 device-independent unit (1/96th inch). 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 device-independent units (1/96th inch per unit)

in significa pulgadas; 1 pda.==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 la sección Comentarios.

Valor de propiedad

Tipo: System.Double
Ancho del elemento, en device-independent units (1/96th inch per unit). 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 de 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.

This example visually shows the differences in rendering behavior among the four width-related properties in Windows Presentation Foundation (WPF).

The FrameworkElement class exposes four properties that describe the width characteristics of an element. These four properties can conflict, and when they do, the value that takes precedence is determined as follows: the MinWidth value takes precedence over the MaxWidth value, which in turn takes precedence over the Width value. A fourth property, ActualWidth, is read-only, and reports the actual width as determined by interactions with the layout process.

The following Extensible Application Markup Language (XAML) examples draw a Rectangle element (rect1) as a child of Canvas. You can change the width properties of a Rectangle by using a series of ListBox elements that represent the property values of MinWidth, MaxWidth, and Width. In this manner, the precedence of each property is visually displayed.


<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>


The following code-behind examples handle the events that the SelectionChanged event raises. Each custom method takes the input from the ListBox, parses the value as a Double, and applies the value to the specified width-related property. The width values are also converted to a string and written to various TextBlock elements (definition of those elements is not shown in the selected XAML).


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;
}


For the complete sample, see Width Properties Comparison Sample.

.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

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