Navegando por
Etiqueta: WPF

Incrustar un formulario de Windows en una aplicación WPF

Incrustar un formulario de Windows en una aplicación WPF

Formularios Windows Se refieren a las antiguas aplicaciones ejecutadas sobre el sistema operativo Windows con una interfaz de usuario interesante pero aburrida donde no se puede salir del esquema impuesto por la plataforma. WPF Windows Presentation Foundation se refiere a la evolución de los formularios Windows en donde la interfaz de usuario puede ser creada a gusto del desarrollador/diseñador. ¿Cómo introducir un formulario Windows dentro de WPF? De manera sencilla lo podemos hacer utilizando un control especializado para tal efecto…

Leer más Leer más

Buscar Antecesor en el árbol visual

Buscar Antecesor en el árbol visual

Si buscamos algún elemento dentro de un objeto en la interfaz de usuario y necesitamos acceder a sus datos desde el elemento padre, pero no tenemos idea de cuántos niveles de elementos posee éste, la mejor solución es navegar a través del árbol visual hasta encontrar un elemento del tipo de dato que necesitamos. Para eso necesitamos de una extensión de clase que permite navegar a través del árbol visual. He aquí el código: public static class VisualTreeHelperExtensions{ public static…

Leer más Leer más

RelativeSource utilizando FindAncestor

RelativeSource utilizando FindAncestor

RelativeSource Es una clase que implementa una extensión de marcado la cual describe la ubicación del origen del enlace con respecto a la posición de destino del enlace. FindAncestor Busca elementos antecesores dentro del árbol visual establecido en RelativeSource. Ejemplos prácticos Si necesitas enlazarlo con otra propiedad en el objeto: {Binding Path=PROPIEDAD_A_UTILIZAR, RelativeSource={RelativeSource Self}} Ejemplo: <TextBlock Width=”{Binding RelativeSource={RelativeSource Self}, Path=Parent.ActualWidth}”/> Si necesitas obtener una propiedad del antecesor: {Binding Path=PROPIEDAD_A_UTILIZAR, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TIPO_DE_DATO_DEL_ANTECESOR}}} Ejemplo: <TextBlock Margin=”10″ Text=”{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type…

Leer más Leer más

[How To] Convertir una aplicación WPF a UWP

[How To] Convertir una aplicación WPF a UWP

En el sitio oficial de MSDN se encuentra una documentación perfecta sobre este tema, así que la intención de esta entrada es tener ordenada dicha información. ¿Cuáles son los pasos para convertir una aplicación WPF a una UWP? Necesitamos entender de qué se trata este proceso, aquí. Si lo hacemos mediante el proceso manual (especialmente cuando utilizamos controles tercerizados como Telerik o DevExpress) ¿Cómo se realiza el proceso? El proceso se realiza de esta manera. ¿Qué es DAC y cómo…

Leer más Leer más

[WPF – How To] Notificaciones en bandeja de sistema

[WPF – How To] Notificaciones en bandeja de sistema

La implementación de una notificación en la bandeja de sistema es muy similar a la que hemos visto en esta entrada, pero es importante ver una pequeña diferencia en la forma de implementarlo. La primera diferencia radica en que no existe un componente específico para cumplir con esta función, por lo cual, requerimos algún control tercerizado. El más simple, fácil y gratis es este control llamado NotifyIcon. Pero, como utilizo Telerik demostraré un control específico para cumplir esta tarea. RadDesktopAlert es…

Leer más Leer más

[WPF – How To] Converters en XAML

[WPF – How To] Converters en XAML

Los convertidores de valores son muy útiles a la hora de unir dos propiedades con tipos de datos incompatibles. Para ese caso necesitamos convertir un tipo de datos a otro (según la necesidad) y de esa manera poder enlazar dichas propiedades. Un convertir básicamente es una clase con dos métodos definidos: Convert: Convierte un tipo de datos B a un tipo de datos A. ConvertBack: Vuelve a convertir el tipo de datos A a un tipo de datos B. Ya…

Leer más Leer más

[WPF] Paneles

[WPF] Paneles

En WPF (Windows Presentation Foundation) tenemos disponible una serie de paneles (contenedores) que nos permiten ubicar los controles necesarios de diferentes formas dependiendo de los contenedores que tenemos. Cada contenedor administra la posición de los controles dentro de sí mismo, siendo muy importante el saber elegir que contenedor necesitamos para lograr la mejor presentación para nuestros controles. Canvas Es un simple panel, parecido al utilizado en un Formulario Windows, utiliza valores de posición absolutas. Se debe especificar una propiedad vertical…

Leer más Leer más

[WPF – How To] Row Details

[WPF – How To] Row Details

Utilizamos esta plantilla cuando queremos mostrar una estructura Maestro/Detalle, donde el Detalle correspondería a Row Details. En este ejemplo utilizaremos la grilla proveída por Microsoft, y no la de Telerik. Aquí creamos una plantilla de Maestro/Detalle donde el maestro muestra datos de un Club y sus campeonatos internacionales ganados. El detalle muestro el logo, nombre, cantidad de títulos y el país de procedencia del club. Nuestro XAML queda de la siguiente manera: <Window x:Class=”WPF_RowDetails.MainWindow” xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation” xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml” xmlns:d=”http://schemas.microsoft.com/expression/blend/2008″ xmlns:mc=”http://schemas.openxmlformats.org/markup-compatibility/2006″ xmlns:local=”clr-namespace:WPF_RowDetails” mc:Ignorable=”d”…

Leer más Leer más

[WPF] Soporte MVVM en controles Telerik

[WPF] Soporte MVVM en controles Telerik

¿Qué es MVVM? En el desarrollo de software hay un sinnúmero de patrones de cómo estructurar sus esfuerzos de desarrollo. MVVM o Model-View-ViewModel es un modelo de desarrollo basado fuertemente en torno a una separación de cuestiones en aplicaciones WPF. Con este fin, las aplicaciones se dividen en tres componentes principales: la vista, el modelo de vista y el modelo. Vista (View) Trabajando desde la parte superior, la vista es responsable de lo que aparece ante el usuario. En este sentido, una vista…

Leer más Leer más

[How To] Establecer foco en XAML desde MVVM

[How To] Establecer foco en XAML desde MVVM

Introducción Cuando trabajamos con el patrón MVVM, no tenemos acceso directo a la interfaz de usuario, por lo tanto, establecer el foco de un control visual se complica un poco. En esta pequeña entrada muestro como poder hacerlo. Simplemente utilizamos una propiedad para tal efecto 🙂 Utilizando el código Realizaremos los siguientes pasos para lograr nuestro objetivo: Creamos un Modelo que se llama Club. Creamos el ViewModel con una propiedad Foco, que enviará las notificaciones a la Vista. En la…

Leer más Leer más