Microsoft Visual Basic es una evolución del lenguaje Visual Basic que continúa la tradición de ofrecer una manera rápida y fácil de crear aplicaciones basadas en .NET Framework, permitiendo a los desarrolladores generar de manera productiva aplicaciones Windows para la Web y para dispositivos móviles, con seguridad de tipos y orientadas a objetos.
Las últimas versiones (2005, 2008 ó 2010) han aportado nuevas características para el desarrollo rápido de aplicaciones. Con ellas se permite: la eliminación garantizada de recursos, la sobrecarga de operadores, los tipos genéricos, los eventos personalizados, la declaración implícita de variables locales, los tipos anónimos, la propiedades autoimplementadas, etc., y el acceso rápido, gracias a la opción My, a las tareas frecuentes de .NET Framework relacionadas, por ejemplo, con la aplicación y su entorno durante la ejecución. Además proporciona interoperabilidad de lenguajes, recolección de objetos no referenciados, seguridad mejorada y control de versiones.
Al mismo tiempo, Microsoft ha publicado una gama de productos denominada Express, de descarga gratuita, que está enfocada a programadores no profesionales. Estos entornos de desarrollo son Visual Basic, Visual C#, Visual C++, Visual Web Developer (para el desarrollo de aplicaciones web) y SQL Server Express, además de un nuevo producto llamado Visual Studio 2010 Express for Windows Phone para el desarrollo de aplicaciones para los dispositivos móviles basados en Windows Phone. Los desarrolladores profesionales podrán elegir también entre las versiones profesionales de Visual Studio, en las que encontrarán herramientas específicas para arquitectos, desarrolladores o probadores, o herramientas de software de ciclo de vida. CAPÍTULO 1. APLICACIÓN WPF CAPÍTULO 2. INTRODUCCIÓN A WPF CAPÍTULO 3. MENÚS Y BARRAS DE HERRAMIENTAS CAPÍTULO 4. CONTROLES Y CAJAS DE DIÁLOGO CAPÍTULO 5. ENLACE DE DATOS EN WPF
Visual Basic - Interfaces gráficas y aplicaciones para Internet con WPF, WCF y Silverlight es un libro totalmente centrado en las tecnologías WPF, WCF y Silverlight, para aprender a desarrollar aplicaciones WPF y Silverlight utilizando herramientas de diseño rápido como Microsoft Visual Studio 2010 (o en su defecto Visual C# 2010 Express, Visual Web Developer 2010 Express y SQL Server Express), que le permitirá crear aplicaciones cliente Windows tradicionales con interfaces gráficas muy ricas utilizando el código de marcado XAML, utilizando la tecnología de enlace a datos potente y sencilla propuesta por WPF, aplicaciones cliente servidor, aplicaciones para acceso a bases de datos (ADO.NET), acceso a bases de datos utilizando LINQ más Entity Framework, aplicaciones que utilizan un modelo de navegación tipo Web (páginas web), aplicaciones para la Web utilizando la tecnología Silverlight, servicios WCF, y a desarrollar aplicaciones Silverlight de N capas y N niveles, que tienen que acceder a una base de datos a través de servicios WCF.
Para quién es este libro
Cómo está organizado el libro
Qué se necesita para utilizar este libro
Sobre los ejemplos del libro
Agradecimientos
PROGRAMANDO EN WINDOWS
BIBLIOTECA WPF
ESTRUCTURA DE UNA APLICACIÓN
XAML
¿Por qué XAML?
Código subyacente
INICIO DE LA APLICACIÓN
COMPILAR Y EJECUTAR LA APLICACIÓN
DISEÑO DE LA INTERFAZ GRÁFICA
Información básica sobre XAML
Espacios de nombres XML
Propiedades como atributos
Propiedades como elementos
Propiedades de contenido
Extensiones de marcado
Propiedades asociadas
Propiedades de dependencia
Crear un elemento
Controles más comunes
Añadir una etiqueta y editar sus propiedades
Añadir un botón de pulsación y editar sus propiedades
Añadir una descripción abreviada a un elemento
Paneles de diseño
Canvas
StackPanel
WrapPanel
DockPanel
Grid
MANEJO DE EVENTOS
Asignar manejadores de eventos a un objeto
EVENTOS ADJUNTOS
INYECTAR CÓDIGO XAML DURANTE LA EJECUCIÓN
CICLO DE VIDA DE UNA VENTANA
PROPIEDADES BÁSICAS DE LA VENTANA
Administración de la duración
Administración de ventanas
Apariencia y comportamiento
CONFIGURACIÓN DE UNA APLICACIÓN
RECURSOS DE UNA APLICACIÓN
ATRIBUTOS GLOBALES DE UNA APLICACIÓN
CICLO DE VIDA DE UNA APLICACIÓN
Permitir una sola instancia de la aplicación
Cómo se genera un evento
Especificar cuándo se cerrará la aplicación
Pantalla de presentación
Argumentos en la línea de órdenes
Acceso a la aplicación actual
RESUMEN
EJERCICIOS PROPUESTOS
CLASES WPF
ETIQUETAS, CAJAS DE TEXTO Y BOTONES
Desarrollo de la aplicación
Objetos
Eventos
Pasos a seguir durante el desarrollo
El formulario, los controles y sus propiedades
Tecla de acceso
Botón predeterminado
Propiedades comunes
EVENTOS ENRUTADOS
¿Cómo se definen?
Responder a los eventos
Eventos relacionados con el teclado
Eventos relacionados con el foco
Seleccionar el texto de una caja de texto
Eventos relacionados con el ratón
INTERCEPTAR LA TECLA PULSADA
Estado del teclado
VALIDACIÓN DE UN CAMPO DE TEXTO
ENLACE DE DATOS
Enlace de datos sin el motor de WPF
Notificar cuándo cambia una propiedad
Enlace de datos con el motor de WPF
La clase Binding
Contexto de datos
Crear un enlace
Origen de datos implícito
Origen de datos explícito
Enlaces con otros controles
Conversores
Validación de datos
Regla ExceptionValidationRule
Regla DataErrorValidationRule
Información del enlace
Regla de validación personalizada
Fuentes relativas
ESTILOS Y PLANTILLAS
Estilos
Vincular controladores de eventos
Desencadenadores
Plantillas
Plantillas de control
Plantillas de datos
RECURSOS
Recursos creados mediante código
Recursos del sistema
TEMAS Y MÁSCARAS
RESUMEN
EJERCICIOS PROPUESTOS
ARQUITECTURA DE UNA BARRA DE MENÚS
DISEÑO DE UNA BARRA DE MENÚS
Crear una barra de menús
Controlador de un elemento de un menú
Aceleradores y nemónicos
ÓRDENES ENRUTADAS
Vincular una orden enrutada con un control
Modelo de una orden enrutada
Cómo se ejecuta una orden enrutada
Órdenes enrutadas personalizadas
Aceleradores de teclado
Información adicional en las órdenes enrutadas
¿Dónde se aplica la orden?
Utilizar parámetros
ICommand versus RoutedCommand
DETALLES DE UN ELEMENTO DE UN MENÚ
MENÚS CONTEXTUALES
BARRA DE HERRAMIENTAS
Diseño de una barra de herramientas
Contenedor de barras de herramientas
BARRA DE ESTADO
Diseño de una barra de estado
DESARROLLO DE UN EDITOR DE TEXTOS
Caja de texto multilínea
Diseño del editor
El portapapeles
Clase Clipboard
Manipular la selección del texto
Diseño de la barra de menús
Diseño de la barra de herramientas
Asignar a un elemento de la interfaz la tarea a realizar
Archivo - Salir
Editar - Cortar
Editar - Copiar
Editar - Pegar
Opciones - Fuente
Opciones - Tamaño
Ayuda - Acerca de
Eventos comunes a todos los elementos WPF
Habilitar o inhabilitar los elementos de un menú
Marcar el elemento seleccionado de un menú
Deshacer y rehacer
Recordar las ediciones reversibles
Añadir a la interfaz la orden Deshacer
Añadir a la interfaz la orden Rehacer
Menú contextual
Asociar un icono a la aplicación
MENÚS DINÁMICOS
RESUMEN
CAJAS DE DIÁLOGO MODALES Y NO MODALES
CAJAS DE MENSAJE
CAJAS DE DIÁLOGO PERSONALIZADAS
Crear una caja de diálogo
Mostrar una caja de diálogo
Gestionar los botones Aceptar y Cancelar
Introducción de datos y recuperación de los mismos
DIÁLOGO ACERCA DE
VENTANA PROPIETARIA
OTROS CONTROLES WPF
Casillas de verificación
Botones de opción
GroupBox y Expander
Listas simples
Diseñar la lista
Iniciar la lista
Acceder a los elementos seleccionados
Colección de elementos de una lista
Lista de elementos de tipo CheckBox
Listas desplegables
Diseñar la lista
Iniciar la lista
Acceder al elemento seleccionado
Colección de elementos de una lista desplegable
Controles de rango definido
ScrollBar
Slider
ProgressBar
Visor con barras de desplazamiento
Control con pestañas
Gestión de fechas
ListView
TreeView
Guardar el documento XML
Recargar el documento XML
Expandir o contraer los nodos
DataGrid
Columnas del DataGrid
Inmovilizar columnas
Filas del DataGrid
Detalles de las filas
CAJAS DE DIÁLOGO ESTÁNDAR
Cajas de diálogo Abrir y Guardar
Cajas de diálogo Windows Forms estándar
Caja de diálogo Imprimir
CONTROLES DE DOCUMENTOS WPF
Documentos dinámicos
Elementos Block
Elementos Inline
Paragraph y Run
Interactuando con los elementos mediante programación
Acceso a documentos en un fichero
Editar un documento
Imprimir un documento
TEMPORIZADORES Y MODELO DE SUBPROCESOS
Timer
Resolución del temporizador
DispatcherTimer
RESUMEN
EJERCICIOS PROPUESTOS
ASPECTOS BÁSICOS
ENLACE A COLECCIONES DE OBJETOS
Cómo implementar colecciones
Vistas de colección
PLANTILLAS DE DATOS
Definir una plantilla de datos
Mejorar la presentación
Utilizar desencadenadores para aplicar valores de propiedad
XML COMO FUENTE DE DATOS
Datos jerárquicos
Islas de datos
Soporte .Net para trabajar con XML
Obtener la vista
Elemento actual
Navegar
Ordenar
Filtrar
Agrupar
Fuente de datos XML sin el proveedor
Vinculación maestro-detalle
OBJETOS COMO FUENTE DE DATOS
Enlace a una colección de objetos
Vistas de colección de objetos
Obtener la vista
Elemento actual
Navegar
Ordenar
Filtrar
Agrupar
Insertar y borrar elementos de la colección
Vinculación maestro-detalle
Proveedor de datos de objetos
Virtualización
Datos introducidos por el usuario
Solicitar datos al usuario
Validación
Visualización de los errores de validación
Regla de validación personalizada