Professional Documents
Culture Documents
Page 1 of 19
• Sobre el Blog
• Tutoriales
• Donaciones
16
Jul
08
Pueden descargar el código completo del cliente Digg del ejemplo aquí
Uno de los fines principales en el diseño de Silverlight y WPF es permitir a los desarrolladores
encapsular la funcionalidad de la interfaz gráfica en user controls reutilizables. Podemos crear
controles personalizados heredando de cualquier clase existente Control (tanto de la clase base
Control como de TextBox, Button, etc). Otra forma es crear User Controls – que hacen más sencillo el
uso del lenguaje XAML, y son más fáciles de implementar.
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Detall... Page 2 of 19
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Detall... Page 3 of 19
Vamos a implementar esto creando un user control “StoryDetailsView” que mostrará el contenido
cuando se seleccione un elemento de nuestro ListBox.
Empezamos haciendo clic derecho en el proyecto DiggSample y seleccionamos “Add New Item”.
Esto nos mostrará una ventana de diálogo. Seleccionamos el template UserControl y le daremos el
nombre “StoryDetailsView”
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Detall... Page 4 of 19
De esta forma hemos añadido un User Control con este nombre al proyecto DiggSample:
Usaremos este control para mostrar en un diálogo los detalles del elemento seleccionado. Cuando se
muestran esos detalles queremos que aparezca encima del contenido de la página, y queremos
asegurarnos de que el usuario no puede hacer otras cosas en la página hasta que no cierre esos
detalles.
Hay un par de formas de implementar este comportamiento. Para nuestro caso abrimos el archivo
StoryDetailsView.xaml y añadimos el siguiente contenido:
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Detall... Page 5 of 19
El control <Rectangle> está configurado para que ocupe todo el espacio en la pantalla. El color de
fondo es un gris transparente (su opacidad es 7.65 como podéis ver). El control <Border> será pintado
encima del control Rectángulo, y ocupará una parte de la pantalla. El color de fondo es azul y
contiene un botón de cerrar.
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Detall... Page 6 of 19
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Detall... Page 7 of 19
Una forma sencilla de hacer aparecer el control StoryDetailsView sería añadirlo al final del archivo
Page.xaml, y poner su visibilidad por defecto en Collapsed (lo que significa que no es visible cuando
se carga por primera vez la aplicación):
Y ahora podemos trabajar con el evento “SelectionChanged” el control ListBox en el código trasero:
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Detall... Page 8 of 19
Cuando un usuario seleccione un elemento de la lista, podemos usar este evento parhacer que el user
control ShowDetailsView se muestre:
Esto hará que se muestre el diálogo modal. Cuando se haga clic en el boton “Close” desaparacerá,
volviendo a mostrar la lista de historias.
Por último queremos mostrar en el user control StoryDetailsView los detalles de la información que
tiene la historia que hemos seleccionado en el ListBox.
En el evento “SelectionChanged” del list box podemos acceder al objeto DiggStory que hemos
seleccionado a través de la propoiedad “SelectedItem”.
La forma más sencilla para acceder a esos datos sería poner la propiedad “DataContext” del user
control al objeto que se ha seleccionado antes de hacer que el control sea visible:
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Detall... Page 9 of 19
Ahora podemos escribir el el código necesario para mostrar esos datos en el user control. O usar
expresiones de databinding.
Por ejemplo, podemos actualizar el xaml de StoryDetailsView para mostrar el título de la historia con
la siguiente expresion:
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Det... Page 10 of 19
El evento de selección, pondrá el DataContext del user control al objeto DigStory seleccionado, y
luego lomostrará:
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Det... Page 11 of 19
Fijense que ahora aparece el título del elemento que hemos seleccionado.
Ya hemos visto cómo hacer de manera simple un maestro/detalle. Para terminarlo añadiremos más
controles al StoryDetailsView y más expresiones de databinding:
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Det... Page 12 of 19
Podemos actualizar el user control StoryDetailsView para que sea igual que el anterior actualizando el
control <Border> de la siguiente manera:
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Det... Page 13 of 19
No hace falta cambiar el código después de esto. Ya que estamos usando las expresiones de
databinding para obtener los valores del DataContext.
Artículo Original
Ads by Google
Mp3 Gratis
¡Descarga tus canciones favoritas con la Barra Gratis de Actualidad!
Musica.alot.com
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Det... Page 14 of 19
1. Dejar un comentario
Deja un comentario
Nombre
Correo electrónico
Sitio Web
Enviar
Visitas
• 32,207 hits
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Det... Page 15 of 19
Autor
• JeffersOn
Suscribirse a RSS
Entradas recientes
• Microsoft® Silverlight™ Tools para Visual Studio 2008 SP1 (RC1)
• Windows Live Tools para Visual Studio
• Las 10 cosas que más fastidian a los programadores
• Repair My Word
• Motorola también apuesta por Android
Categorías
• .NET Framework (1)
• ADO.NET Data Services (5)
• AJAX (1)
• Android (2)
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Det... Page 16 of 19
• ASP.NET (1)
• C# (1)
• Enterprise Library (1)
• Google (2)
• Humor (5)
• Ineta LATAM (1)
• Internet (2)
• LINQ (3)
• Microsoft Popfly (1)
• Microsoft Robotics Studio (4)
• Microsoft Surface (1)
• Microsoft Touch Wall (2)
• Microsoft Volta (1)
• Noticias (23)
• Otros (23)
• Recursos (15)
• Robots (1)
• Silverlight (21)
• TrueSpace (1)
• Visual Studio 2008 (1)
• WebCasts (6)
• Windows Live (5)
• Windows Server 2008 (1)
• XNA (1)
• Zune (8)
Afiliados
Blogroll
• Comunidades Andinas
• El Ave Fenix
• El Guille
• Mentores
Blogs Amigos
• BlackOut360
• CanYouHearTheBits
• elChelo
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Det... Page 17 of 19
Publicidad
Últimos comentarios
• DejavuMaster en 101 Ejemplos de LINQ
• Amateratsu en 10 razones para salir con un geek
• kenda en 10 razones para salir con un geek
• . : elChelo en Microsoft® Silverlight™ Tools para Visual Studio 2008 SP1 (RC1)
• Jeff en Firefox ocupa demasiada memoria
Enlaces Microsoft
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Det... Page 18 of 19
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010
Tutoriales Silverlight. Parte 6: User Controls para implementar escenarios Maestro Det... Page 19 of 19
Archivos
• Octubre 2008 (12)
• Septiembre 2008 (4)
• Agosto 2008 (31)
• Julio 2008 (27)
• Junio 2008 (64)
http://jsantillan.wordpress.com/2008/07/16/tutoriales-silverlight-parte-6-user-controls-par... 15/08/2010