miércoles, 18 de agosto de 2010

Introducción a WPF

En esta ocasión @EdwinCruces, blogger del sitio Ante todo variedad me ha permitido colgar un artículo que escribió, que da una idea de como empezar a trabajar con WPF, así que aquí les dejo el post.


Con el rápido avance de la tecnología, es inevitable que los lenguajes de programación también mejoren cada día más. Es por eso que desde la salida al mercado del sistema operativo Microsoft Windows Vista los sistemas Windows incorporan una tecnología llamada Windows Presentation Foundation, la cual además de separar eficientemente la parte lógica de la parte gráfica haciendo uso del Lenguaje XAML, también hace las interfaces de usuario mucho más agradables y dinámicas. De ahí que para un desarrollador sea más fácil y práctico trabajar junto a un experto en interfaces (Diseñador Gráfico) o bien hacer uso de su buen gusto y "cacharrearle" un poco al tema para pulir sus aplicaciones con sencillos Skins, Templates y/o Temas para WPF. Pero de esto hablaremos luego. Hoy quienes tengan aunque sea un poco de experiencia en desarrollo .Net podrán realizar este sencillo How-To.

pulsa clic en la imagen para verla más grande
__

Lo primero que debes hacer es abrir Visual Studio (2008 ó 2010) y crear una nueva solución con la plantilla de Aplicación WPF en el lenguaje de tu preferencia (VB ó C#), dale un nombre y clic en Crear. Lo primero que verás será una especia de texto XML con un diseñador de interfaz arriba de él; ése es el lenguaje declarativo XAML (eXtensible Application Markup Language) que es con el cual se crean las interfaces WPF. Allí puedes crear botones, paneles, contenedores, elementos para multimedia, etc. Crea un TextBox, un Botón y un ListBox y dale un nombre a cada uno. Para acceder al código de la parte lógica de tu aplicación basta con dar clic derecho en el diseñador y seleccionar 'Ver código', esto te llevará al archivo Code-Behind que contiene tan solo el constructor de la clase. Ahora agrega una nueva clase estática llamada Commands que contenga un objeto estático de tipo RoutedCommand.
De vuelta al XAML. Si te habías fijado el primer Tag que aparece en el archivo dice "Window", dentro de él escribe:
xmlns:local="
...y se desplegará una lista con los Assemblies que tengas en el proyecto. Escoge el de tu aplicación que se ha de llamar algo así como "MiPrimerAppEnWpf (MiPrimerAppEnWpf)". Dentro del Tag del botón que creaste antes escribe:
Command="{x:Static local:Commands.Agregar}"
Y ya tan solo queda que agregues en el Code-Behind el Command a la lista de CommandBindings de la aplicación y especificar cuales son los Manejadores de sus dos eventos: Execute y CanExecute. El código fuente de este ejemplo lo pueden descargar de:
Eso es todo. Hasta una próxima oportunidad...

Leer más...

martes, 17 de agosto de 2010

El SENA y Adobe te llevan al AdobeMAX


El evento AdobeMAX es probablemente el evento geek más importante para los que trabajamos con las herramientas de Adobe, es una semana de charlas día tras día con temas de interés sobre todo tipo de tecnologías, adelantos, muestras y mensajes que te hacen sentir que Adobe es la mejor empresa del planeta y que debes aprender a usar eso último que viste. Se realiza año tras año en la ciudad de Los Angeles en California en la tierra del tio Sam y el SENA te va a llevar!



..

No todo es gratis! para ir al evento debes tener un excelente rendimiento académico, y debes saber bastante sobre el manejo de las 3 herramientas contempladas en la Certificación Adobe Certified Associate (Flash, Dreamweaver y Photoshop) ya que se desarrollaran pruebas en cada centro de formación del SENA que este certificado y se tendrá en cuenta el rendimiento en los exámenes de conocimiento de cada una de las herramientas.

Cada centro selecciona a UN SOLO APRENDIZ quien competirá en la ciudad de Cali por el primer puesto que es el viaje a los estados unidos para el evento. El Segundo premio gana una licencia de la Adobe Master Collection CS5 y el tercer puesto ganará una licencia de la Adobe Web Premium CS5.

Animo muchachos, estudien, en esta semana estaré informandoles sobre las bases del concurso y como se seleccionara al aprendiz del centro.

Para obtener más información pueden visitar el sitio del concurso

--

Leer más...

lunes, 16 de agosto de 2010

Controlar eventos de teclado en C#

En ocasiones, cuando creamos aplicaciones para Windows Forms con C# tenemos la necesidad de capturar los gestos del teclado del usuario para ejecutar determinada acción, ejemplo de eso es cuando para enviar la información de un formulario o iniciar sesión en algún programa presionamos la tecla Enter o cuando presionamos teclas como Ctrl+W en el navegador para cerrar una pestaña.

..

--
En el programa que vamos a hacer, vamos a programar un TextBox que indique las teclas que se han presionado o la combinación de teclas que se está utilizando, después de esto el desarrollo para un método específico debe ser muy sencillo.

Lo primero que haremos, será crear un proyecto de Windows Forms con dos TextBox, uno en el que crearemos la lógica para determinar la tecla o teclas presionadas y otro que muestre la información correspondiente a la acción de usuario.


El primer campo se llamará eventoTxt y el siguiente se llamará informacionTxt. Después de agregar los controles al formulario, debemos ir al método constructor del formulario, para agregar el delegado encargado de las acciones del teclado (sí no sabes qué es un delegado, deberías revisar este articulo, que habla sobre los listeners en ActionScript que son muy parecidos).

En el método constructor se agrega el nuevo delegado por medio de la expresión += y dentro de los paréntesis se debe poner el nombre la función que se va a invocar cuando se produzca el evento KeyDown. En el método validarTeclas, se pueden ver 2 variables que pone por defecto en Visual Studio, para acceder a la información de la tecla presionada debemos ver los atributos del párametro e que contiene toda la información.



Y eso es todo, espero sus comentarios, y los archivos quedan disponibles para trabajarlos con el Framework 4.0.


--

Leer más...