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

La clase ObservableCollection<t>

36/50
Recursos

La clase ObservableCollection es la clase ideal para manejar colecciones de datos ya que implementa tanto INotifyCollectionChanged como INotifyPropertyChanged de manera intrínseca, y realiza la actualización del control de lista enlazado de manera automática como el ListView. Existen otros controles de lista que también utilizan este mismo modelo de actualización de propiedades como el <Picker />, entre otros.

Una recomendación fundamental en el desarrollo de aplicaciones con Xamarin.Forms es que no debemos meternos con los datos directamente de la interfaz de usuario, sino siempre, a través de las propiedades y los objetos que estén enlazados, dejando que las estructuras de Enlace de Datos se encarguen del trabajo de actualización.

Aportes 6

Preguntas 3

Ordenar por:

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

SOLUCIÓN A LISTVIEW CON ITEMS EN BLANCO

Después de algunas horas intentando y debuggeando así como indagando en el libro del profesor Rodrigo llegué a la conclusión que al ListView le falta un “DataTemplate” para que se aprecie correctamente.

<ContentPage.Resources>
        <local:Disco x:Key="disco1"
                     Titulo="Let It Be"
                     Banda="The Beatles" />

        <local:Datos x:Key="datos1" />

        <DataTemplate x:Key="DiscoDataTemplate">
            <ViewCell>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition/>
                        <ColumnDefinition/>
                    </Grid.ColumnDefinitions>

                    <StackLayout>
                        <Label Text="{Binding Titulo}" />
                        <Label Text="{Binding Banda}" />
                    </StackLayout>
                </Grid>
            </ViewCell>
        </DataTemplate>
    </ContentPage.Resources>

    <Grid BindingContext="{Binding Source={StaticResource datos1}}">
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition Height="Auto" />
        </Grid.RowDefinitions>

        <ListView ItemsSource="{Binding Discos, Mode=TwoWay}" 
                  SelectedItem="{Binding DiscoSeleccionado, Mode=TwoWay}"
                  ItemTemplate="{StaticResource DiscoDataTemplate}"
                  HasUnevenRows="True" />
        
        <StackLayout Grid.Row="1">
            <Label Text="{Binding DiscoSeleccionado.Titulo, Mode=OneWay}" />
            <Label Text="{Binding DiscoSeleccionado.Banda, Mode=OneWay}"/>
            <Button Text="AGREGAR DISCO"
            Clicked="OnClicked" />
        </StackLayout>
    </Grid>

Nota: lo más probable es que al momento del curso las reglas de la versión de Xamarin no eran tan estrictas con el ListView pero actualmente lo son, al parecer…


No me he metido con ninguno de los archivos en donde me marca error,el problema comenzó cuando agregue el Listview,que de hecho quite para ver si solucionaba el problema,si alguien pudiese indicarme que podría estar causando esos errores se lo agradecería mucho.

hay que tener en cuenta que cualquier propiedad dentro del objeto que usemos dentro de la colección y que queramos enlazar debe implementar INotifyPropertyChanged (Perdí tiempo con eso).

¿Tambien podriamos traer los diccionarios dinamicamente en formato JSON?

Buenas tardes
Me gustaria saber por que razon cuando la lista sobrepas los 200 elementos deja de pintar algunos renglones?
Como puedo hacer para que esto no suceda?