WPF, C# - El blog de Javier Torrecilla

Ver por etiquetas

Todas las etiquetas » WPF » C# (RSS)

[WINRT] Behaviors

El patrón de diseño mas utilizado a la hora de crear aplicaciones con WPF, Silverlight o Windows 8 es MVVM (Model – View – ViewModel).   Aunque no voy a entrar a la explicación de este patrón voy a hablar de algo relacionado con él.   Uno de los objetivos de este patrón es ayudarnos a mantener nuestro código lo mejor estructurado posible.   En este post me voy a centrar en explicar una problemática existente dentro de Windows 8 y mas concretamente en las desarrolladas con XAML. El...
Publicado por Javier Torrecilla | 1 comment(s)
Archivado en: ,,,,

[VS2012] Información del llamante

Introducción: Lo primero que poco me gustan algunas traducciones, así que vamos a llamar las cosas por su nombre, en este post vamos a hablar de una de las novedades de .NET 4.5 “Caller Information”. Una de las cosas novedosas de esta nueva versión del Framework viene a facilitarnos la vida a la hora de realizar trace y log de errores de nuestras aplicaciones (aunque en este post vamos a ver otra utilidad de esta información). Dentro del espacio de nombres “System.Runtime.CompilationServices” se...
Publicado por Javier Torrecilla | con no comments
Archivado en: ,,,,

WinRT: Establecer un estilo Condicional (2) #Metro #Win8

Introducción Ayer publique una entrada en la que hablaba de aplicar un estilo condicional a un control en xaml. Después de revisar si se puede utilizar StyleSelector o DataTemplateSelector , ambos son válidos a aplicar para un control como el ListBox, pero no por ejemplo para un TextBox o un TextBlock. Código V2: Dandole una pequeña vuelta de tuerca, y a pesar que me sigue pareciendo un “Bad Code Smell”, me he creado un nuevo converter: 1: public class...
Publicado por Javier Torrecilla | 3 comment(s)
Archivado en: ,,,,,

[TIP] Exportar Word a PDF desde Código

Mini artículo para exportar un fichero word a PDF desde código c# y VB.NET. Al Lio Para poder trabajar con documentos de Word en nuestro código es necesario que agreguemos la referencia “Microsoft.Office.Interop.Word.dll”. Sin mas dilación el código: VB.NET 1: Dim app As New Microsoft.Office.Interop.Word.Application() 2:   3: Dim missing As Object = System.Type.Missing 4: Try 5:   6: Dim document As Microsoft.Office.Interop.Word.Document = app.Documents.Open(RutaCarta) 7: Dim nombre As...
Publicado por Javier Torrecilla | 4 comment(s)
Archivado en: ,,,,,,

DbMigration y Code First

Introducción Una de las novedades que se introdujo con la versión 4.3 de Entity Framework son las llamadas Database Migration (DbMigration), que vienen a satisfacer las necesidades de los desarrolladores a la hora de realizar cambios en la estructura de la base de datos, como por ejemplo: - Creación o borrado de Tablas. - Cambiar o quitar columnas. - entre otras cosas :) La principal problemática venía a la hora de tener nuestra aplicación instalada en varios...
Publicado por Javier Torrecilla | 6 comment(s)
Archivado en: ,,,,,

#ORAPOCO: V2.1

Continuando con mi particular cruzada de crear un Mini ORM para trabajar con ORACLE, publico una nueva versión de ORAPOCO. Historia: OraPoco V2.0 OraPoco Update 2 OraPoco Primer Update OraPoco 1.0 ¿Qué incluye esta nueva versión? - Corrección de un pequeño bug. - Mejora en el rendimiento de la obtención de resultados de la base de Datos. - BulkInsert: Permite la inserción de datos a través de OracleBulkInsert. Es bastante más rápido que ejecutar las inserciones por separados, pero no tan rápido que...

[ORM-Lite] PetaPoco

Introducción En este post voy a continuar la serie acerca de ORMS ligeros donde ya he hablado de Dapper y Massive , en esta ocasion voy a tratar PetaPoco. ¿Qué es PetaPoco? PetaPoco es otro mini ORM basado en Massive , pero a diferencia de este para trabajar con objetos POCO. Algunas de sus caracteristicas: - Es un único fichero que sea agrega al proyecto. - Permite trabajar con objetos POCO. - Permite la generación de los objetos POCO a través de unas plantillas...
Publicado por Javier Torrecilla | 3 comment(s)
Archivado en: ,,,,,

[ORM-Lite] Massive

Introducción Hace unos días realice una entrada sobre Dapper un mini ORM, y como ya comente iba a realizar una serie sobre más ejemplos de ORM ligeros. En esta ocasión le ha tocado a Massive. ¿Qué es Massive? Bien Massive es otro ORM ligero creado por Rob Conery( Blog y Twitter ), que nos permite realizar consultas a una Base de datos y su explotación en un sistema a través de objetos Expando . ¿Por dónde empezar? Para poder trabajar con Massive, tenemos dos posibilidades: - Agregarlo como un paquete...
Publicado por Javier Torrecilla | 3 comment(s)
Archivado en: ,,,,,

Dapper Dot Net

Introducción Hace unos días Jorge Gamba comentaba en un twit algunos ORMS Ligeros para utilizar en algunos proyectos donde realmente no se requiere la potencia de Entity Framework o NHibernate. Esto venía a través de un intenso debate (y lucha) para intentar dejar a un lado los DataSets y DataTables que se utilizaban antiguamente. ¿Qué es Dapper? Podríamos decir que Dapper es un mini-ORM (o un ORM Lite) compuesto por un conjunto de clases que nos van a permitir mapear nuestra base de datos con nuestras...
Publicado por Javier Torrecilla | 8 comment(s)
Archivado en: ,,,,,,

How To: Utilizar PrincipalPermission para bloquear Funcionalidades

Introducción Hace unos días hablando con Antiocol , comentábamos sobre como llevar a cabo el bloqueo de funcionalidades / pantallas / vistas ante la existencia de distintos usuarios propios de la aplicación, es decir, no son usuarios de Windows. Me comento la existencia del atributo PrincipalPermission , y decidí investigar un poco acerca de este tema. El problema Dada una aplicación multiusuario, en el que encontramos los perfiles: Encargado, Dependiente...
Publicado por Javier Torrecilla | 7 comment(s)
Archivado en: ,

[How To] Comprimir y Descomprimir ficheros

Introducción Hoy me he percatado de la posibilidad de comprimir “un fichero” a través de .NET sin utilizar librerías de terceros". Dentro del Namespace IO (que se encuentra dentro de System), podemos encontrar el namespace “ Compression ”, donde encontraremos dos clases que nos van a permitir llevar a cabo esta tarea: GZipStream: Clase que va a permitir llevar a cabo la compresión o descompresión de un fichero. DeflateStream: Clase que...
Publicado por Javier Torrecilla | 3 comment(s)
Archivado en: ,,

[XAML] ValueConverters

¿Qué son? Un ValueConverter es una clase que va a permitir la conversión de un tipo de dato a otro concreto para que un enlace a datos (Binding) lo entienda. ¿Cómo se crean? .NET ya tiene incorporados distintos conversores para ahorrar el trabajo de los desarrolladores, pero puede darse el caso que se necesite crear uno propio. Para poder definir un ValueConverter es necesario crear una nueva clase que implemente la Interfaz IValueConverter . Esta interfaz expone...
Publicado por Javier Torrecilla | 1 comment(s)
Archivado en: ,,