Información general de datos

Los datos son el corazón de todas las interfaces de usuario. Desde las reservas de hotel hasta la consulta del mercado de valores, las interfaces de usuario proporcionan una forma de visualizar e interactuar con alguna forma de datos. La elección de los componentes de la interfaz de usuario que van a estar visibles y la forma de disponerlos para que proporcionen un flujo de trabajo útil dependen principalmente de la naturaleza de los datos con los que se va a trabajar.

Orígenes de datos

Puede que la aplicación necesite trabajar sólo con orígenes de datos internos, quizá realizando cálculos con números que un usuario ha escrito en un formulario. Otras aplicaciones que haya creado podrían necesitar obtener acceso a orígenes de datos externos, como bases de datos, fuentes o servicios Web, o archivos locales que contengan información. Y en otros casos, las aplicaciones podrían necesitar obtener acceso a orígenes de datos tanto internos como externos. Actualmente, Microsoft® Expression Blend™ admite dos tipos de orígenes de datos externos: XML y objetos CLR.

Lista de orígenes de datos del panel Proyecto

Lista de orígenes de datos del panel Proyecto de Expression Blend

Los orígenes de datos externos que están asociados al documento activo en Expression Blend se muestran en una lista en Datos, en el panel Proyecto. Puede usar los botones 1 para agregar y quitar orígenes de datos, y puede arrastrar elementos de datos 2 al área de diseño para crear controles que estén enlazados a datos con los elementos. Si no se ha configurado ningún origen de datos, Datos, en el panel Proyecto, mostrará sólo los botones que se usan para crear un origen de datos.

Enlace de datos

El enlace de datos es el proceso de conectar los elementos de un origen de datos a los componentes de la interfaz de usuario (controles). Esto significa que cada vez que cambien los datos, los componentes de la interfaz reflejarán de manera opcional dichos cambios, y viceversa. El ejemplo más sencillo de enlace de datos sería un control de barra de desplazamiento enlazado internamente al ancho de un rectángulo. Al mover la barra de desplazamiento, el tamaño del rectángulo se agranda o se reduce a escala.

Microsoft Windows® Presentation Foundation y Expression Blend proporcionan una manera sencilla y uniforme de enlazar los elementos de una aplicación a diferentes orígenes de datos, y de configurar los elementos que muestran los datos y modificar dichos datos. Un enlace se construye, básicamente, entre un origen y un destino. El origen suele ser un origen de datos u otro control, y el destino es un control. En el ejemplo de la barra de desplazamiento, el origen es la propiedad Value del control de barra de desplazamiento y el destino es la propiedad Width del rectángulo.

Puede crear enlaces mediante el botón Opciones avanzadas de la propiedad Opciones avanzadas de la propiedad que está asociado a las propiedades del panel Propiedades, o bien arrastrando elementos desde Datos en el panel Proyecto al área de diseño. (Para obtener instrucciones, vea Enlazar datos a una propiedad o elemento.) Con ambas opciones se abre el cuadro de diálogo Crear enlace de datos para habilitar la creación de vínculos de enlace entre un control (el destino) y un campo de datos u otro control (el origen).

Cuadro de diálogo Crear enlace de datos con la sección Opciones avanzadas expandida

Cuadro de diálogo Crear enlace de datos con la sección Opciones avanzadas expandida

El cuadro de diálogo Crear enlace de datos presenta tres opciones básicas para seleccionar un origen de datos, así como opciones avanzadas:

Flujo de datos

El flujo de datos se define como la dirección en la que fluyen los datos entre el origen y el destino. En el caso de la barra de desplazamiento que escala un rectángulo, sólo se necesita un enlace en una dirección: desde la barra de desplazamiento (origen) al rectángulo (destino). Windows Presentation Foundation ofrece las siguientes configuraciones de enlace para el flujo de datos:

Para ver el flujo de datos en acción, observe el siguiente ejemplo de interfaz de usuario que contiene un control Slider (origen) y un control TextBox (destino):

Cuadro de texto y barra de desplazamiento

Flujo de datos entre tipos de enlace

En la ilustración de ejemplo anterior, el enlace se configura en el cuadro de texto (destino) con el siguiente procedimiento:

  1. En el panel Propiedades, se hace clic en el botón Opciones avanzadas de la propiedad Opciones avanzadas de la propiedad que está asociado a la propiedad Text (en Propiedades comunes) de TextBox y se selecciona Enlace de datos.
  2. En el cuadro de diálogo Crear enlace de datos que aparece, se selecciona la ficha Propiedad del elemento y la propiedad Value de Slider.

En la siguiente tabla se describe el comportamiento de enlace de este ejemplo, dependiendo del tipo de enlace:

Tipo de enlace Resultado

OneWay

Al mover la barra de desplazamiento (origen) se actualizará el cuadro de texto (destino). No obstante, si se escribe un número en el cuadro de texto, la barra de desplazamiento no se mueve.

TwoWay

Al mover la barra de desplazamiento (origen) se actualizará el cuadro de texto (destino). Además, la posición de la barra de desplazamiento cambiará si se escribe un número en el cuadro de texto después de hacer clic con el mouse fuera del cuadro de texto.

OneWayToSource

Si se escribe un número en el cuadro de texto (destino) y después se hace clic fuera del mismo, la barra de desplazamiento se moverá (origen). No obstante, mover la barra de desplazamiento no actualizara el cuadro de texto.

OneTime

El valor inicial de la barra de desplazamiento (origen) actualizará el cuadro de texto (destino) cuando se inicie la aplicación. Los cambios posteriores en la barra de desplazamiento no actualizarán el cuadro de texto y escribir un número en el cuadro de texto no actualizará la barra de desplazamiento.

Métodos de enlace con orígenes de datos externos

Flujo de trabajo 1: enlace del origen al destino

Una vez creado el origen de datos externo, puede enlazar ese origen de datos a los controles de la interfaz de usuario. Esto puede hacerse de dos maneras:

Tanto si elige enlazar a un control existente como crear uno nuevo, se abrirá el cuadro de diálogo Crear enlace de datos para que pueda seleccionar el campo que desea enlazar al origen de datos. Por ejemplo, si crea un enlace arrastrando un elemento de datos que sea una cadena a un TextBox, probablemente desee enlazar al campo Texto (que está seleccionado de manera predeterminada) de este nodo. También puede especificar opciones de enlace adicionales haciendo clic en el botón de expansión Botón Expandir categoría en el cuadro de diálogo. Haga clic en Aceptar para cerrar el cuadro de diálogo y crear el enlace. Si los datos están disponibles en tiempo de diseño, el valor del campo seleccionado debería actualizar el control. Para obtener instrucciones, vea Enlazar datos a una propiedad o elemento.

Si el elemento de datos es una colección de elementos (una matriz) o si no coincide exactamente con el tipo de destino, se abrirá el cuadro de diálogo Crear plantilla de datos para que pueda elegir controles específicos con los que mostrar los datos. Para obtener más información, vea Plantillas de datos más adelante en este tema.

Flujo de trabajo 2: enlace del destino al origen

Si bien el flujo de trabajo anterior empezaba en el origen de datos y terminaba en el control de destino, puede invertir el proceso si ya ha creado el control y sabe qué propiedad desearía enlazar al origen de datos o a la propiedad de otro control. Este flujo de trabajo es especialmente útil en el enlace de elemento a elemento.

Junto al editor del valor de cada propiedad en el panel Propiedades, encontrará un botón Opciones avanzadas de la propiedad Opciones avanzadas de la propiedad que permite configurar las Opciones avanzadas de la propiedad, incluido el enlace de datos. Al hacer clic en Enlace de datos en el menú de opciones avanzadas, se abre el mismo cuadro de diálogo Crear enlace de datos que se describe en el Flujo de trabajo 1, anteriormente en este tema.

Plantillas de datos

A menudo, se encontrará en situaciones en las que desee mostrar una lista de elementos del origen de datos. Un elemento de datos que contiene una lista de elementos se identifica mediante "(Matriz)" en el nombre. Si arrastra un nodo de la lista desde Datos, en el panel Proyecto, hasta un documento y selecciona ListBox en la lista de controles opcionales a los que enlazar, se le mostrará un cuadro de diálogo adicional titulado Crear plantilla de datos que le permitirá diseñar la plantilla de datos. Este cuadro de diálogo podría abrirse también cuando esté enlazando controles de texto a elementos de datos que son cadenas.

Una plantilla de datos define la estructura y el formato en que desea que se representen los datos. Por ejemplo, si está enlazando el campo ItemsSource de un control ListBox a una lista de nodos de contacto del origen de datos, la plantilla de datos es su forma de especificar qué campos de esta lista se van a incluir y qué controles deberán asignarse a cada campo. Podría elegir representar un nombre como TextBlock, una imagen como Image y un campo booleano como IsCurrentMember, como un control CheckBox. Crear una plantilla de datos garantiza que los datos de los nodos de conexión se convierten al formato visual que se desea. La plantilla permite controlar de manera muy precisa la forma en que los datos arbitrarios se muestran en el control.

Nota Únicamente las propiedades Content e ItemsSource admiten plantillas de datos.

En el cuadro de diálogo Crear plantilla de datos, tiene la opción de:

Use el recuadro Vista previa para determinar si le gusta el aspecto de la plantilla.

Cuadro de diálogo Crear plantilla de datos

Cuadro de diálogo Crear plantilla de datos

Las plantillas de datos se guardan como recursos. Si desea modificar una plantilla de datos existente, puede hacer clic en el botón Editar recurso situado junto a la plantilla de datos en el panel Recursos. Expression Blend pasará al modo de edición de plantillas y mostrará la estructura de la plantilla en Objetos y escala de tiempo. En este modo de edición, puede agregar controles a la plantilla y usar enlaces de datos del panel Propiedades para enlazar las propiedades de dichos controles a los elementos nuevos del origen de datos.