Diseño con posición absoluta y dinámica
Al crear una ventana en una aplicación, debe decidir cómo va a disponer los controles en dicha ventana. También debe decidir el comportamiento de los controles en la ventana cuando el usuario cambie el tamaño de la misma. Éstas son cuestiones relacionadas con las posiciones absoluta y dinámica.
Cuando se crea una ventana en una aplicación, se establece su tamaño y los tamaños de los controles en esa ventana. Debe decidir cómo se van a comportar la ventana y los controles si el contenido cambia. Por ejemplo, si agrega un control de etiqueta a una ventana, puede especificar cómo se va a comportar la etiqueta si el texto se traduce a otro idioma. Éstas son cuestiones relacionadas con el cambio de tamaño dinámico.
Tipos de diseños
A continuación se enumeran tres tipos de diseños que puede crear en WPF Designer for Visual Studio:
Absoluto
Los elementos secundarios se organizan especificando sus ubicaciones exactas en relación con su elemento primario. Por ejemplo, los controles se organizan en un panel especificando las coordenadas izquierda y superior de los controles con relación al panel. Los elementos secundarios no se mueven cuando se cambia el tamaño del elemento primario. Para obtener más información, vea Cómo: Crear un diseño basándose en la posición absoluta o Tutorial: Crear un diseño basándose en la posición absoluta.Dinámico
Los elementos secundarios se organizan especificando cómo deben organizarse y ajustarse en relación con su elemento primario. Por ejemplo, puede organizar los controles en un panel y especificar que deben ajustarse horizontalmente. Si se reduce el elemento primario, los elementos secundarios se mueven a la fila siguiente. Cuando se amplia el elemento primario, los elementos secundarios se mueven a la fila anterior. Para obtener más información, vea Cómo: Crear un diseño dinámico o Tutorial: Crear un diseño dinámico.Dinámico controlado por datos
Enlace un control a los datos. El control se rellena con los datos, y las filas y columnas se forman automáticamente para ajustar los datos.
Siempre que sea posible, es preferible usar un diseño dinámico. Los diseños dinámicos son los más flexibles y permiten al usuario final un mayor control sobre el entorno. Los diseños dinámicos permiten adaptar el contenido a la localización y a otros cambios del contenido. Los diseños absolutos se deben reservar para los casos en los que es importante una posición precisa e inalterable de los elementos o para cuando sólo hay un elemento secundario único, como una imagen o un gráfico.
Nota
Los diseños absoluto y dinámico se pueden combinar. Por ejemplo, puede tener una ventana con un diseño dinámico general pero que tiene una parte que usa la posición absoluta.
Nota
Establezca la propiedad UseLayoutRounding para especificar cuándo se redondean a valores de píxel enteros los valores de píxel no enteros que se calculan durante las transferencias de Measure y Arrange. Los controles secundarios heredan esta propiedad.
Paneles
WPF proporciona muchos controles Panel que admiten la posición absoluta y dinámica. Los controles de panel se pueden combinar agregando un control de panel como elemento secundario de otro control. Puede usar los siguientes controles de panel para colocar los elementos en sus aplicaciones:
Panel |
Tipo de diseño |
Descripción |
---|---|---|
Dinámico |
Define un área donde puede colocar los elementos secundarios en filas y columnas. |
|
Dinámico |
Define un área donde puede organizar y apilar los elementos secundarios en el borde superior, inferior, izquierdo o derecho. |
|
Dinámico |
Organiza automáticamente los elementos secundarios en posición secuencial, moviendo el contenido a la línea siguiente en el borde del contenedor primario. El orden se produce secuencialmente desde la parte superior a la inferior y de izquierda a derecha, dependiendo de si la orientación está establecida en horizontal o en vertical. |
|
Dinámico |
Organiza automáticamente los elementos secundarios en una única línea que puede estar orientada horizontal o verticalmente. |
|
Dinámico |
Organiza automáticamente los elementos secundarios en filas y columnas. Las filas y las columnas están uniformemente separadas. Si un elemento no se ajusta en una celda, se trunca. |
|
Absoluto |
Define un área donde puede colocar explícitamente los elementos secundarios utilizando las coordenadas. |
Controles
WPF proporciona controles que admiten la posición dinámica controlada por datos. Estos controles se pueden enlazar a datos y dimensionar automáticamente para ajustar los datos. Puede utilizar los siguientes controles para mostrar dinámicamente los datos en las aplicaciones:
Control |
Tipo de diseño |
Descripción |
---|---|---|
Dinámico controlado por datos |
Muestra una lista de elementos de datos. |
|
Dinámico controlado por datos |
Muestra los elementos de datos en columnas para un control de vista de lista. |
Cambio de tamaño dinámico
En el cambio de tamaño dinámico, los controles se configuran para que se expandan o se contraigan automáticamente para ajustar su contenido. Por ejemplo, si dimensiona un control de etiqueta para ajustar texto en un idioma y el texto se traduce a otro idioma, puede establecer la etiqueta para cambiar el tamaño automáticamente con el fin de ajustar el nuevo texto. La posición dinámica admite el cambio de tamaño dinámico al ajustar automáticamente la posición de los controles cuando sus tamaños cambian.
A continuación se enumeran algunas propiedades que puede establecer para facilitar la creación de diseños dinámicos:
Propiedad |
Valores |
Se aplica a |
Notas |
---|---|---|---|
double, Auto, * |
Ventanas, controles, columnas de cuadrícula. |
Use el ajuste del tamaño Automático o mediante asterisco para obtener la máxima flexibilidad. Vea la siguiente sección para obtener más información. * sólo se aplica a las columnas de la cuadrícula. |
|
double, Auto, * |
Ventanas, controles, filas de cuadrícula. |
Use el ajuste del tamaño Automático o mediante asterisco para obtener la máxima flexibilidad. Vea la siguiente sección para obtener más información. * sólo se aplica a las filas de la cuadrícula. |
|
double |
Ventanas, controles, columnas de cuadrícula. |
Establezca en 0 para obtener la máxima flexibilidad. |
|
double |
Ventanas, controles, filas de cuadrícula. |
Establezca en 0 para obtener la máxima flexibilidad. |
|
double, Infinity |
Ventanas, controles, columnas de cuadrícula. |
Establezca en Infinity para obtener la máxima flexibilidad. |
|
double, Infinity |
Ventanas, controles, filas de cuadrícula. |
Establezca en Infinity para obtener la máxima flexibilidad. |
|
Ventanas |
Establezca en CanResize para obtener la máxima flexibilidad. Esto permite al usuario cambiar el tamaño de la ventana. |
||
Ventanas |
Establezca en WidthAndHeight para obtener la máxima flexibilidad. Esto permite cambiar automáticamente el tamaño de la ventana cuando su contenido se expande. |
Ajuste del tamaño Automático o mediante asterisco
El ajuste del tamaño Automático se usa para que los controles se ajusten a su contenido, incluso si el contenido cambia de tamaño. El ajuste del tamaño Automático o mediante asterisco se utiliza para distribuir el espacio disponible entre las filas y las columnas de una cuadrícula en proporciones ponderadas. En lenguaje XAML, los valores de asterisco se expresan como * (o n*). Por ejemplo, si tiene una cuadrícula con 4 columnas, puede establecer los anchos de las columnas como sigue:
Columna 1 |
Auto |
La columna se dimensionará para ajustar su contenido. |
Columna 2 |
* |
Una vez calculadas las columnas con la opción Automático, la columna obtiene parte del ancho restante. La columna 2 será la mitad de ancha que la columna 4. |
Columna 3 |
Auto |
La columna se dimensionará para ajustar su contenido. |
Columna 4 |
2* |
Una vez calculadas las columnas con la opción Automático, la columna obtiene parte del ancho restante. La columna 4 será dos veces más ancha que la columna 2. |
Para obtener más información, vea Star.
Vea también
Conceptos
Información general sobre WPF y Silverlight Designer