C#
Depurando expresiones lambda en Visual Studio 2015
· ☕ 1 minutos lectura · ✍️ Saturnino Pimentel
Una de las características que aún nos hacía falta en Visual Studio y que en lo personal esperaba desde hace algún tiempo es la capacidad de depurar expresiones lambda, pues bien con la liberación de Visual Studio 2015 nos viene la grata sorpresa de que esta característica ha sido agregada y hacer uso de ella es bastante fácil. Veamos el siguiente ejemplo en el que crearemos una colección de enteros que van de 1 a 100.

MVVM VIII Uso de IValueConverter para la transformación de datos en las vistas
· ☕ 3 minutos lectura · ✍️ Saturnino Pimentel
Siguiendo con la serie de post de MVVM en este post vamos a hablar de cómo trabajar con los convertidores de datos. Los convertidores de datos son elementos que nos permiten hacer cambios en la forma en que son presentados los elementos en la vista, utilizarlos es realmente sencillo solo tenemos que hacer una implementación de IValueConverter que contiene dos métodos, Converter y ConverterBack el primero y el más comúnmente utilizado nos sirve para convertir datos de una propiedad en valores diferentes y funciona con el modo de notificación OneWay, el segundo por su parte nos permite regresar un valor a la propiedad en base al contenido de la propiedad del control que hayamos vinculado y funciona con el método TwoWay.

MVVM VII ICommand y DelegateCommand
· ☕ 5 minutos lectura · ✍️ Saturnino Pimentel
En esta serie de post hemos visto como el patrón MVVM nos ayuda a eliminar el code-behind de nuestras vistas propiciando así la reutilización de código, en este post veremos que además de poder vincular propiedades a nuestra vista hecha en XAML también podemos agregar funcionalidad a través de comandos, es decir, en lugar de solo recibir o enviar notificaciones también podemos atar funcionalidad. Para lograr esto necesitamos hacer una implementación de la interfaz ICommand, esta interfaz tiene tres elementos (dos métodos y un evento), estos elementos deben ser implementados para después vincularlos con los objetos que heredan del control ButtonBase que contienen una propiedad Command que nos permite hacer uso de una expresión de atado de datos con la implementación de ICommand, veamos el siguiente ejemplo.

MVVM VI El ViewModel
· ☕ 5 minutos lectura · ✍️ Saturnino Pimentel
Hoy nos toca ver el último de los tres componentes de MVVM que hemos visto a lo largo de esta serie de post el ViewModel. El ViewModel es el encargado de conectar a los modelos con la vista, de controlar la lógica de la aplicación y de manejar el flujo de navegación, como mencionamos en la analogía en el post anterior los ViewModels son todos los engranes y sistemas que permiten al conductor (usuario) dirigir al automóvil hacia donde el desea, es en los ViewModels donde concentraremos las propiedades que servirán para hacer el atado de datos con la vista, las implementaciones de ICommand para vincular funcionalidad y aquí llamaremos a los modelos para trabajar con los datos, por lo regular cuando trabajamos con un buen enfoque de MVVM los modelos terminan sirviendo para diversos ViewModels y un ViewModel van ligado a una vista, aunque pueden ser utilizadas por más de una de ellas.

MVVM V El modelo (Model)
· ☕ 4 minutos lectura · ✍️ Saturnino Pimentel
Siguiendo con esta serie de post sobre MVVM hoy vamos a hablar del modelo (Model), los modelos son los encargados de proveer la información a nuestros ViewModels es decir tienen la responsabilidad del acceso a datos y la lógica de negocios para que los ViewModels tengan la responsabilidad primordial de mostrar la información a través de la vista (View) y manejar la lógica de la aplicación. En este punto y para apoyarnos me gustaría hacer una analogía en la que utilizaremos las funciones generales de un automóvil el cual representará nuestra aplicación (repito es una visión muy simple de un automóvil).

MVVM IV Sistema de notificación de cambios
· ☕ 4 minutos lectura · ✍️ Saturnino Pimentel
Como hemos visto en los post anteriores XAML tiene la capacidad de comprender expresiones de atado de datos y la vista juega un papel primordial en la interacción con el usuario, pues bien por lo general esa interacción entre el usuario y nuestra aplicación produce cambios en la información que contiene nuestra aplicación, estos cambios ya sea por procesos de nuestra aplicación o por datos proporcionados por los usuario son manejados por medio de un sistema de notificación de cambios que permite a los componentes mantener el estado de la información actualizado según convenga.

How to: convertir números a palabras
· ☕ 1 minutos lectura · ✍️ Saturnino Pimentel
En alguna ocasión trabajando en una aplicación tuve la necesidad de convertir de números a texto (1 -> uno, 2 -> dos), lo primero que pensé fue en generar el algoritmo, pero después decidí realizar una búsqueda y me encontré con el proyecto Number 2 Letters así que lo implemente ya que la conversión era bastante buena y salvo algunos números como el 100 no tenía errores, en el siguiente código podrán ver como solo es necesario agregar una cultura con el lenguaje que deseamos convertir y el formato “L”

How to: Get images from XAML elements
· ☕ 2 minutos lectura · ✍️ Saturnino Pimentel
Hi, this is my first English post, well my first English translate post. You know some time ago I had the need to add some information to an image so I was looking at MSDN and found the RenderTargetBitMap class, this class allows us to get images from XAML controls, this is especially useful when we want to generate thumbnail or to share a picture of these controls with other applications.

How to: Obtener imágenes desde elementos de XAML
· ☕ 2 minutos lectura · ✍️ Saturnino Pimentel
Saben hace algún tiempo tuve la necesidad de agregar información a una imagen así que buscando en MSDN me he encontrado con la clase RenderTargetBitMap, esta clase nos permite obtener imágenes a partir de controles XAML especialmente útiles cuando deseamos generar thumbnail o para compartir una imagen de estos controles con otras aplicaciones. RenderTargetBitMap nos permite generar estas imágenes a través de su método RenderAsync. Veamos un ejemplo sencillo en el cual agregaremos datos adicionales a una imagen obtenida por la cámara.

Validando ensamblados para desarrollo multiplataforma
· ☕ 4 minutos lectura · ✍️ Saturnino Pimentel
Hoy está surgiendo la necesidad de llevar la lógica de negocio a través de diferentes plataformas evitando reescribir código para cada una de ellas, las ventajas que se pueden obtener de ello son bastante interesantes ya que hasta cierto punto reducirían los tiempos y el esfuerzo a la hora de desarrollar proyectos (todos sabemos que no existen balas de plata) y es que piénsenlo trabajar en un escenario donde puedas realizar pruebas a la funcionalidad de tu lógica de negocio y en caso de ser necesario solucionar los errores en un solo ensamblado en lugar de ir a través de cada uno de los proyectos reduce o al menos centraliza el esfuerzo que el proyecto requiere, pues bien con el lanzamiento en el último evento de Microsoft de .