WPF - El blog de Javier Torrecilla

Ver por etiquetas

Todas las etiquetas » WPF (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: ,,

[XAML] Estilos

Definición Podríamos definir estilo como el aspecto visual que va a tener un elemento dentro de nuestra Interfaz de Usuario. Será un fragmento de XAML que podremos establecer de alguna de las siguientes maneras: Formas de Establecer Estilos y Plantillas => Modificando las propiedades: La forma “tradicional” de cambiar el aspecto sería modificando las propiedades directamente desde el XAML, o la ventana de propiedades para aquellas donde es factible hacerlo . Ejemplo: 1: < Button Name ="boton"...
Publicado por Javier Torrecilla | con no comments
Archivado en: ,

[XAML] Plantillas

Introducción Cuando en las aplicaciones de escritorio desarrolladas con Windows Forms, queríamos modificar el aspecto de un determinado control, teníamos bastantes limitaciones de las cosas que podíamos hacer con ellos, a no ser que modificásemos internamente desde código su apariencia. Tanto en WPF como en Silverlight, podemos modificar la apariencia de los controles de varías maneras. En este post vamos a ver como modificar un control a través de las Plantillas.   Definición y Tipos Una plantilla...
Publicado por Javier Torrecilla | 1 comment(s)
Archivado en: ,

[WPF]Triggers

Definición Un Trigger es un desencadenador de una determinada Acción. Va a permitir cambiar el valor de alguna propiedad o comenzar una animación existente, cuando se cumpla una determinada condición. Tipos Existen distintos tipos de Triggers: => Trigger simple: Sucede cuando una determinada Propiedad presenta un valor indicado. Ejemplo: 1: < Triggers > 2: < Trigger Property ="IsSelected" Value ="True" > 3: < Setter TargetName ="desc" Property ="Foreground"...
Publicado por Javier Torrecilla | 1 comment(s)
Archivado en:

[SL]Empezando con SL, Datos y MVVM

Introducción En el post anterior estuvimos viendo, una de las formas que tenemos, para consultar los datos de nuestra BD y explotarlos desde Silverlight. El objeto de este POST, es empezar a adoptar el patrón de diseño MVVM. MVVM Hay muchos post abierto acerca del patrón MVVM(Model-View-ViewModel, pero os recomiendo que os leais el tercer capítulo del libro de WP7 de Josue Yeray (al igual que el primero y segundo ). Me gustaría indicar que este patrón aplica tanto a Silverlight (incluyendo WP7) como...
Publicado por Javier Torrecilla | 3 comment(s)
Archivado en: ,,

[SL] Maestro – Detalle y la propiedad IsSynchronizedWithCurrentItem

Introducción Estoy dando mis primeros pasos en el mundo de WPF y Silverlight. Empece por WPF donde y ahora estoy intentando migrar los ejemplos que he creado en WPF a Silverlight y me he encontrado el siguiente problema: “Establecer la propiedad IsSynchronizedWithCurrentItem a True provoca una excepción.” En WPF este problema no sucede así que hable con el crack de SL ( Josue Yeray ) y vi la ayuda de MSDN , donde dicen: Obtiene o establece un valor que indica si Selector debe mantener la propiedad...
Publicado por Javier Torrecilla | con no comments
Archivado en: ,