Test Binding

Binding
thomas muzard 2 years ago
commit bbe93fe849

@ -15,6 +15,8 @@ namespace ParionsCuite.Modeles
Nom = nom;
}
public Boisson() { }
public override bool Equals(object obj)
{
if (ReferenceEquals(obj, null)) return false;

@ -12,18 +12,20 @@ public class Stub : IPersistanceManager
public List<Evenement> chargeDonnees()
{
List<Evenement> lisEvent = new List<Evenement>();
Boisson b = new("lzn");
Boisson b = new("biere");
var boissons = new Dictionary<Boisson, int>();
boissons[b] = 3;
Nourriture n = new("slkdbv");
Nourriture n = new("pain");
var nourriture = new Dictionary<Nourriture, int>();
nourriture[n] = 3;
Autre a = new("skjdbv");
Autre a = new("chaise");
var autre = new Dictionary<Autre, int>();
autre[a] = 3;
DateTime dt = new(2018, 7, 24);
Participation p = new(boissons, nourriture, autre);
Evenement e = new ("nom", dt, "lieu", 12, 23, p);
Evenement e = new ("nom", "dr", "lieu", "12", p);
Inviter i1 = new("toto", "president");
Inviter i2 = new("titi", "chapeau");
lisEvent.Add(e);
return lisEvent;
}

@ -0,0 +1,12 @@
using ParionsCuite.Modeles;
namespace ParionsCuite.ViewModel
{
public class Liquid
{
public Boisson Boisson { get; set; }
public int Quantity { get; set; }
public Liquid() {
}
}
}

@ -0,0 +1,55 @@
using ParionsCuite.Modeles;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ParionsCuite.ViewModel
{
public class NourritureManager
{
public ReadOnlyCollection<Liquid> Liquids { get; private set; }
private readonly List<Liquid> _liquids = new List<Liquid>();
public NourritureManager()
{
Liquids = new ReadOnlyCollection<Liquid>(_liquids);
LoadLiquids();
}
private void LoadLiquids()
{
_liquids.AddRange( new Liquid[]{
new Liquid()
{
Boisson = new Boisson()
{
Nom = "toto",
},
Quantity = 1,
},
new Liquid()
{
Boisson = new Boisson()
{
Nom = "tata"
},
Quantity = 2,
}
});
}
public bool AddLiquids(Liquid liquid)
{
if (_liquids.Contains(liquid)) return false;
_liquids.Add(liquid);
return true;
}
}
}

@ -50,13 +50,13 @@
<!--Content Grille quantité+nourritre-->
<VerticalStackLayout Grid.Column="1" Grid.Row="0" x:Name="View_Food">
<ListView ItemsSource="{Binding Participation}">
<VerticalStackLayout Grid.Column="1" Grid.Row="1" x:Name="View_Food">
<ListView ItemsSource="{Binding Liquids}">
<ListView.ItemTemplate>
<DataTemplate>
<HorizontalStackLayout>
<Label Text="{Binding Map_Boissons.Key}"/>
<Label Text="{Binding Value}"/>
<Label Text="{Binding Boisson.Nom}"/>
<Label Text="{Binding Quantity}"/>
</HorizontalStackLayout>
</DataTemplate>
</ListView.ItemTemplate>

@ -1,4 +1,6 @@
using ParionsCuite.Modeles;
using ParionsCuite.ViewModel;
using System.Collections.ObjectModel;
namespace ParionsCuite.Views.Participations;
@ -6,9 +8,16 @@ public partial class Nourriture : ContentView
{
public Manageur Mng => (App.Current as App).MyManager;
public NourritureManager NourritureManager = new NourritureManager();
public Nourriture()
{
BindingContext = Mng.Evenement;
InitializeComponent();
}
InitializeComponent();
BindingContext = NourritureManager;
}
private void AjoutNourriture(object sender, EventArgs e)
{
}
}

Loading…
Cancel
Save