FrameworkElement.Width Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece el ancho de un FrameworkElement.
public:
property double Width { double get(); void set(double value); };
double Width();
void Width(double value);
public double Width { get; set; }
var double = frameworkElement.width;
frameworkElement.width = double;
Public Property Width As Double
<frameworkElement Width="double"/>
-or-
<frameworkElement Width="Auto"/>
Valor de propiedad
double
Ancho del objeto, en píxeles. El valor predeterminado es NaN. Excepto para el valor de NaN especial, este valor debe ser igual o mayor que 0.
Ejemplos
En este ejemplo se muestra un conjunto de propiedades simple de un elemento de interfaz de usuario que se crea en tiempo de ejecución y necesita inicialización de su contenido y propiedades de visualización básicas, como Height, Widthy Background. (Background es realmente una propiedad Control , no definida por FrameworkElement).
Button button2 = new Button();
button2.Height = 50;
button2.Width = 100;
button2.Background = new SolidColorBrush(Colors.Blue);
button2.Content = "Click Me";
Comentarios
Width es una de las tres propiedades grabables en FrameworkElement que especifican información de ancho. Los otros dos son MinWidth y MaxWidth. Si hay un conflicto entre estos valores, el orden de aplicación para la determinación de ancho real es que primero MinWidth se debe respetar, después MaxWidth, y finalmente, si está dentro de los límites, Width.
Varios de los tipos derivados frameworkElement también se derivan de Shape. No todas las Shape clases usan Height o Width para especificar su apariencia y, en su lugar, usan propiedades específicas que podrían definir un conjunto de puntos. En este caso, se calcula o HeightWidth , pero normalmente no se establece directamente.
Las clases personalizadas pueden tener consideraciones similares en las que la clase podría tener propiedades más significativas para especificar dimensiones de las que son Height o Width.
Height o Width siguen estando disponibles como miembros y son configurables.
El objeto en el que se establecen las propiedades o WidthHeight es casi siempre un objeto secundario en la colección secundaria de otro elemento primario, y establecer Height o Width en un valor es solo un valor sugerido para el proceso de diseño. El sistema de diseño, así como la lógica de diseño concreta de la clase primaria usarán el valor como entrada sin enlazar durante el proceso de diseño, y es posible que tenga que recortar, cambiar el tamaño del objeto, cambiar el tamaño del contenedor o alguna combinación de estos comportamientos que abarquen varios objetos participantes en el diseño. El margen y el relleno también influyen en el tamaño disponible. Para obtener más información, consulta alineación, margen y relleno.
El valor devuelto de esta propiedad es siempre el mismo que cualquier valor que se estableció en ella. En cambio, el valor de la propiedad ActualWidth puede variar. La varianza puede producirse estáticamente, ya que el diseño rechazó el tamaño sugerido o momentáneamente. El propio sistema de diseño funciona de forma asincrónica con respecto al conjunto del sistema de propiedades de y es posible que el sistema de Widthdiseño aún no haya procesado ese cambio de propiedad de ajuste de tamaño.
No se permiten valores negativos para Width .
Además, no establezca en Width un valor que sea significativamente mayor que el tamaño máximo de cualquier pantalla visual posible.
"Auto" y NaN
El valor predeterminado de Height y Width es "Auto", representado por NaN. En el marcado XAML, puedes usar la cadena "Auto" para establecer el valor en NaN.
Note
En C#, puede obtener NaN de Double.NaN.
En C++, puede obtener NaN mediante la NAN macro o std::numeric_limits<double>::quiet_NaN().
No use el == operador para probar NaN.
En C#, use Double.IsNaN() para probar NaN.
En C++, use isnan() para probar NaN.