La clase Device
  • Introducción
  • IMPORTANTE: Accede al Grupo Privado y Exclusivo
  • Únete al grupo privado
  • Conociendo la clase Device
  • Constantes de la clase Device
  • La propiedad Idiom
  • La propiedad OS
  • La propiedad RuntimePlatform
  • El método BeginInvokeOnMainThread
  • El método GetNamedSize
  • El método OnPlatform
  • Actualizando el método OnPlatform
  • Combinando diferentes propiedades para validar el dispositivo de uso
  • El método OpenUri
  • El método StartTimer
  • La clase Styles
Espacios de nombres XAML
  • Introducción
  • Compilación XAML
  • Espacios de nombres por defecto
  • Atributos del espacio de nombres x
  • x:Arguments
  • x:FactoryMethod
  • x:TypeArguments
  • Espacios de nombres no estándar
Markup Extensions
  • Introducción
  • Entendiendo la problemática
  • Categorizando las markup extensions
  • Utilizando la Markup Extension StaticExtension
  • Utiizando StaticExtension con datos propios
  • Utilizando las extensiones x:Array, x:Type y x:StaticResource en conjunto
  • Creando una Markup Extension
  • Simplifiando nuestra Markup Extension
  • Creando la clase ImageResourceExtension
  • Utilizando IServiceProvider
  • El atributo ContentProperty
Bindable Properties
  • Introducción
  • Explicando la problemática
  • Entendiendo qué son las Bindable Properties
  • Creando una Bindable Property
  • Probando nuestra Bindable Property
  • Corrigiendo el control de usuario
Attached Properties y Attached Behaviors
  • Introducción
  • Creando una Attached Property
  • Probando nuestra Attached Property
  • Creando otra Attached Property
  • Attached Behaviors
  • Attached Behavior para un evento
Transformaciones
  • Introducción
  • Transformación Translation
  • Creando efectos en letras con Translation
  • Transformación Scale
  • Transformación Rotation
  • Transformaciones RotationX y RotationY
Animaciones
  • Introducción
  • Animaciones Simples
  • Cancelando animaciones
  • Ejecutando múltiples animaciones
  • Easing Functions
  • Easing Functions Personalizadas I
  • Easing Functions Personalizadas II
  • Creando un popup animado
  • Animaciones personalizadas
Triggers
  • Introducción
  • Property Triggers
  • Event Triggers
  • Flexibilizando nuestro Event Trigger
  • Type Converters
  • Event Triggers para validar emails
  • Data Triggers
  • Data Triggers con ViewModels
  • MultiTriggers
Behaviors
  • Introducción
  • Entendiendo un Behavior
  • Creando un Behavior con Bindable Properties
  • Probando nuestro Behavior con Bindable Properties
  • Behavior Evento a Comando
  • Utilizando paquete nuget BehaviorsPack
Effects
  • Introducción
  • Entendiendo la problemática
  • Creando un effect
  • Codificando el método OnAttached
  • Probando nuestro effect
  • Codificando el método OnDetached
  • Creando el effect para Android y iOS
  • La clase RoutingEffect
  • Creando un effect para un Label subrayado
  • El método OnElementPropertyChanged
  • Creando un effect para cambiar la fuentede un Label
  • Flexibilizando nuestros Effects
Custom Renderers