Enlazar un objeto a datos
Los datos se muestran al enlazar un elemento de datos a un objeto en la mesa de trabajo.
Un enlace de datos consta de dos elementos:
Contexto de datos El contexto de datos identifica los orígenes de datos a partir de los que se obtendrán datos. Un contexto de datos se puede heredar con el fin de asignarlo a un objeto primario para que todos los objetos secundarios tengan acceso a los mismos datos. Esto es útil al enlazar varios objetos a datos pertenecientes al mismo origen de datos, y al crear un diseño de tipo maestro/detalles.
Para obtener más información, vea Crear un enlace de datos de tipo maestro/detalles.
Enlace de propiedades El enlace de propiedades identifica el elemento específico de datos al que una propiedad está enlazada. Por ejemplo, puede enlazar la propiedad Text de un objeto TextBlock a un elemento de cadena del origen de datos, o bien enlazar la propiedad ItemsSource de un objeto ListBox a una colección del origen de datos. El enlace de propiedades puede no existir en el mismo objeto que el contexto de datos, pero funcionará siempre que el contexto de datos se haya configurado en un objeto que esté más arriba en el árbol.
Para crear enlaces de datos, puede arrastrar elementos de datos del panel Datos o crear manualmente un enlace de datos mediante el panel Propiedades para configurar el contexto de datos y el enlace de propiedades.
Para enlazar datos arrastrando elementos desde el panel Datos
En el panel Datos, realice una de las acciones siguientes:
Haga clic en Modo de lista para mostrar los datos en un control de elementos, como ListBox, DataGrid, TreeView, ComboBox, etc. Modo de lista se usa para crear una lista a partir de una colección.
Haga clic en Modo de detalles para mostrar los datos de un registro en una colección, o para mostrar un elemento individual de datos.
En el panel Datos, seleccione uno o más elementos de datos y, a continuación, arrastre la selección a la mesa de trabajo. Puede arrastrar la selección a un área vacía de la mesa de trabajo o a un objeto existente.
Microsoft Expression Blend determina la acción que se realizará en función del tipo de datos que haya arrastrado. La tabla siguiente enumera cómo Expression Blend interpreta las selecciones de datos:
Acción
En el modo de lista
En el modo de detalles
Arrastrar una colección, o elementos de una colección, a un área vacía de la mesa de trabajo.
Se creará un objeto ListBox para mostrar los datos (un registro por fila). La propiedad ItemsSource del objeto ListBox se establece en el nombre de la colección. La propiedad DataContext se establece en el panel de diseño principal.
Para obtener un ejemplo, vea Crear un enlace de datos de tipo maestro/detalles.
Se crean objetos para mostrar todos los elementos seleccionados para un registro individual de la colección de datos.
Si hace esto después de haber arrastrado elementos de la misma colección mientras está en el modo de lista, se creará automáticamente una relación de tipo maestro/detalles.
Para obtener más información, vea Crear un enlace de datos de tipo maestro/detalles.
Si no ha creado previamente un enlace mientras estaba en el modo de lista, solo se mostrarán los datos del primer registro de la colección.
Arrastrar una colección jerárquica, o elementos de una colección jerárquica, a un área vacía de la mesa de trabajo.
Se creará un objeto TreeView para mostrar los datos (un registro por fila). La propiedad ItemsSource del objeto TreeView se establece en el nombre de la colección. La propiedad DataContext se establece en el panel de diseño principal.
Para obtener un ejemplo, vea Usar el control TreeView.
Se crean objetos para mostrar todos los elementos seleccionados para un registro individual de la colección de datos.
Si hace esto después de haber arrastrado elementos de la misma colección mientras está en el modo de lista, se creará automáticamente una relación de tipo maestro/detalles.
Para obtener más información, vea Crear un enlace de datos de tipo maestro/detalles.
Si no ha creado previamente un enlace mientras estaba en el modo de lista, solo se mostrarán los datos del primer registro de la colección.
Arrastrar una colección o elementos de una colección a un control de elementos existente, como ListBox, DataGrid, TreeView, ComboBox, etc.
El control de elementos muestra los datos (un registro por fila). La propiedad ItemsSource del control de elementos se establece en el nombre de la colección. La propiedad DataContext se establece en el panel de diseño principal.
Para obtener un ejemplo, vea Usar el control DataGrid.
Se crean objetos para mostrar todos los elementos seleccionados para un registro individual de la colección de datos.
Si hace esto después de haber arrastrado elementos de la misma colección mientras está en el modo de lista, se creará automáticamente una relación de tipo maestro/detalles.
Para obtener más información, vea Crear un enlace de datos de tipo maestro/detalles.
Si no ha creado previamente un enlace mientras estaba en el modo de lista, solo se mostrarán los datos del primer registro de la colección.
Arrastrar un elemento individual de datos que no esté en una colección a un área vacía de la mesa de trabajo.
Se creará un objeto para mostrar los datos. Por ejemplo, si los datos son una cadena o un número, se creará un objeto TextBlock. Si los datos son un valor booleano, se creará un objeto CheckBox. Si los datos son la ruta de acceso de un archivo de imagen, la imagen se mostrará en un objeto Image.
Igual que en el modo de lista.
Arrastrar un elemento individual de datos que no esté en una colección a un objeto existente.
Expression Blend intenta determinar a qué propiedad del objeto deben estar enlazados los datos. Por ejemplo, si los datos son una cadena o un número, estarán enlazados a las propiedades Content o Text. Si los datos son un valor booleano, estarán enlazados a las propiedades IsEnabled o IsChecked, o a otra propiedad Boolean. Si los datos son la ruta de acceso de un archivo de imagen, los datos estarán enlazados a una propiedad Source.
Si no se encuentra una propiedad adecuada, aparecerá el cuadro de diálogo Crear enlace de datos. En la lista desplegable Propiedad de
En el cuadro de diálogo Crear enlace de datos, en la lista desplegable Propiedad de, puede elegir la propiedad a la que desea enlazar los datos. Por ejemplo, si los datos son una cadena que representa un valor hexadecimal para un color, puede arrastrar el elemento de datos al objeto raíz del documento mientras mantiene presionada la tecla MAYÚS, y seleccionar la propiedad Background en el cuadro de diálogo Crear enlace de datos para cambiar el color de fondo de su documento.
Si el tipo de datos no coincide con el tipo de propiedad, Expression Blend intenta convertir los datos. Si no se puede realizar una conversión, los datos no se mostrarán. En tal caso, tendrá que crear un convertidor de valores y seleccionarlo en el cuadro de diálogo Crear enlace de datos.
Para obtener más información, vea Inténtelo: convertir datos de un tipo a otro.
Igual que en el modo de lista.
Para enlazar datos mediante el panel Propiedades
En el panel Objetos y escala de tiempo, seleccione el objeto en el que desea mostrar o al que desea enlazar datos, o seleccione un objeto que esté más arriba en el árbol, como el panel de diseño principal.
Aquí es donde establecerá el contexto de datos.
En el panel Propiedades, junto a la propiedad DataContext, haga clic en Opciones avanzadas de la propiedad y, a continuación, haga clic en Enlace de datos.
En el cuadro de diálogo Crear enlace de datos, haga clic en la ficha Campo de datos.
En Orígenes de datos, seleccione el origen de datos desde el que desea enlazar datos.
Haga clic en Aceptar para cerrar el cuadro de diálogo Crear enlace de datos.
Ahora puede enlazar las propiedades de este objeto o cualquier objeto secundario a elementos de datos del origen de datos que seleccionó.
Seleccione el objeto donde desea mostrar los datos o al que desea enlazarlos.
En el panel Propiedades, busque la propiedad que desea enlazar a los datos. Asegúrese de que el tipo de propiedad sea compatible con el tipo del elemento de datos que desea enlazar. Por ejemplo, para enlazar a elementos de datos de una colección, seleccione la propiedad ItemsSource (disponible en controles de elementos, como ListBox, DataGrid, TreeView, ComboBox, etc.). Para enlazar a un elemento de datos de número o cadena, seleccione una propiedad de cadena.
Junto a la propiedad, haga clic en Opciones avanzadas de la propiedad y, a continuación, haga clic en Enlace de datos.
En el cuadro de diálogo Crear enlace de datos, haga clic en la ficha Contexto de datos explícito.
En Campos, seleccione el elemento de datos al que desea enlazar la propiedad.
Sugerencia: Solo se mostrarán los elementos de datos compatibles. Para mostrar todos los elementos, seleccione Todas las propiedades en la lista desplegable Mostrar.
Como alternativa, puede establecer otros campos en el cuadro de diálogo Crear enlace de datos. Por ejemplo, es posible que tenga que seleccionar un convertidor de valores si el tipo de datos no coincide con el tipo de propiedad. Expression Blend intenta convertir datos, pero si no se puede realizar una conversión, los datos no se mostrarán. En tal caso, tendrá que crear un convertidor de valores y seleccionarlo en el cuadro de diálogo Crear enlace de datos.
Para obtener más información, vea Inténtelo: convertir datos de un tipo a otro.
Haga clic en Aceptar para cerrar el cuadro de diálogo Crear enlace de datos.
Si está usando datos de ejemplo, se mostrarán en la mesa de trabajo. Si está usando datos en directo, presione F5 para verlos.
Sugerencia: Puede enlazar los mismos datos a más de un objeto. Asimismo, puede configurar un diseño de tipo maestro/detalles donde un objeto se actualice para mostrar los detalles de un elemento seleccionado en una lista.
Para obtener más información, vea Crear un enlace de datos de tipo maestro/detalles.
Vea también
Tareas
Cambiar de datos de ejemplo a datos en directo
Crear un enlace de datos de tipo maestro/detalles