Introducción a Xamarin

1

Todo lo que aprenderás sobre Xamarin Forms

2

¿Qué es Xamarin?

Instalación y configuración

3

Requerimientos de hardware y software

4

Introducción a Instalación de Visual Studio .NET y Herramientas

5

Instalación de Visual Studio .NET en Windows

6

Instalación de Visual Studio .NET for Mac

7

Configuración de Xamarin para iOS

Fundamentos de Xamarin.Forms

8

Mi primera app con Xamarin.Forms

9

Xamarin.Forms vs. Xamarin clásico

10

Estrategias para compartir código

Arquitectura de Xamarin.Forms

11

Anatomía de una aplicación

12

Arquitectura de Xamarin.Forms

Sistema de Propiedades Enlazables

13

Sistema de Propiedades Enlazables

14

Usando y creando Propiedades Enlazables

15

Propiedades Adjuntas

Manejo de Eventos

16

Manejo de eventos

17

Ciclo de vida

El Lenguaje XAML

18

¿Qué es XAML?

19

Espacios de Nombres XML

20

Sintaxis de subelementos y de contenido

21

Extensiones de Marcado

22

Recursos

23

XAML compilado

Interfaz de Usuario

24

Contenedores

25

Controles comunes

26

Creación de controles personalizados

27

Estilos

28

Triggers en Estilos

29

Diccionarios Mezclados

30

Transformaciones y Animaciones

31

Navegación

32

DisplayAlert y DisplayActionSheet

33

MessagingCenter

Enlace de Datos

34

Enlace de Datos

35

Interfaces de notificación

36

La clase ObservableCollection<t>

37

Contexto de Enlace de Datos

38

Enlace entre elementos

39

Propiedad StringFormat

40

Plantillas de Datos

41

Convertidores de Valor

Comandos

42

¿Qué son los Comandos?

43

Implementación básica e implementaciones existentes

El Patrón de Diseño Model-View-ViewModel (MVVM)

44

Introducción al patrón de diseño MVVM

45

¿Qué es MVVM?

46

Componentes del Patrón

47

Proyecto: Pomodoro

48

App Pomodoro

49

Continuando con la app Pomodoro

50

Concluyendo nuestra app Pomodoro

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de Xamarin.Forms

Curso de Xamarin.Forms

Rodrigo Díaz Concha

Rodrigo Díaz Concha

Creación de controles personalizados

26/50
Recursos

El corazón de Xamarin.Forms son los Renderers, que son los que permiten convertir las etiquetas de diseño de controles en XAML a componentes de código nativo en cada plataformay. Cada control disponible en cada una de las APIs del proyecto: Xamarin.Android, Xamarin.iOS, Xamarin.WUF, etc., tienen sus respectivos renderers que dibujan cada control en su forma nativa para cada plataforma.

Así por ejemplo, un control XAML de tipo <Entry /> se va a renderizar de la siguiente manera:

  • En Android: como un componente EditText
  • En iOS: como un componente UITextView
  • En WUF: como un TextBox
    etc.

Para crear Controles Personalizados, no sólo tenemos que crear el control en Xamarin.Forms usando .NET Standard sino también tenemos que crear su renderer para la plataforma destino.

Para crear el control personalizado:

  • Se declara la clase del control en C#, heredando una clase base de Xamarin.Forms
  • Se identifican las propiedades enlazables que se van a asociar luego con los valores del componente nativo
  • Se crean las BindableProperties con su respectiva fachada CLR de la propiedad enlazable, con los accesores get y set.
  • Crear el renderer en el folder de la plataforma respectiva
  • Descargamos el paquete NuGet específico para el componente nativo que queremos implementar
  • En el renderer se asocian el control de Xamarin.Forms y el control nativo expuesto por el paquete NuGet
  • Se programa el override para cada método / evento que queremos enlazar entre los controles
  • Se indica SetNativeControl()
  • Se crea el método OnElementProperyChanged() para enlazar los eventos asociados al cambio de valores
  • Se exporta el renderer.

Y ya se puede usar el nuevo control en la interfaz de la aplicación usando Xaml.

Aportes 9

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Y el equivalente de monoDroid para iOS?

hubiera sido bueno poner el ejemplo para ios!!? alguien sabe como hacerlo en ios

Tengo una excepción no controlada en el archivo

MainPage.xaml.g.cs

Unhandled Exception:
System.TypeInitializationException: The type initializer for ‘Directorios.CircularProgress’ threw an exception.ocurrió

Genial!! El limite lo pone la imaginación. Como siempre digo, TODO es posible, que te lleve mas o menos tiempo…

¡Hola!
Al igual que @irwin9507, también tengo una excepción: ‘System.TypeInitializationException’.
¿Cómo se puede solucionar?
Saludos.

Falto la parte de poner en funcionamiento el mismo.

funciona el mismo paquete nuGet para iOS?

Todas las propiedades enlazadas

No me quedo claro que hace OnElementChanged, alguna ayuda?