Ajouter groupe marche pnt de merde

C#
Tony Fages 2 years ago
parent 84585d29b7
commit 3c52666e6e

@ -16,12 +16,16 @@
<VerticalStackLayout>
<ScrollView>
<Grid>
<Grid >
<!-- Séparation de la page -->
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="10*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Grid.Column="0" Height="2*" />
<RowDefinition Grid.Column="0" Height="3*" />
</Grid.RowDefinitions>
@ -29,20 +33,12 @@
<!-- Première colonne -->
<ScrollView Grid.Column="0" BackgroundColor="LightGrey">
<StackLayout x:Name="ButtonStackLayout">
<Button Text="test"
VerticalOptions="Center"
HorizontalOptions="Center"/>
<Button Text="test"
VerticalOptions="Center"
HorizontalOptions="Center"/>
<Button Text="test"
VerticalOptions="Center"
HorizontalOptions="Center"/>
<ScrollView >
<StackLayout x:Name="ButtonStackLayout" BindingContext="{Binding mgr.Evenement}">
</StackLayout>
</ScrollView>
<Button Text="Test" BackgroundColor="Green" Grid.Column="0" Grid.Row="1" HeightRequest="50" Clicked="Button_Clicked"/>
<!-- Deuxième colonne -->
<Grid Grid.Column="1">

@ -1,5 +1,6 @@
using System;
using System.Collections.ObjectModel;
using System.Diagnostics;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Platform;
using Microsoft.VisualBasic;
@ -12,18 +13,44 @@ namespace ParionsCuite;
public partial class MainPage : ContentPage
{
public Manageur mgr => (App.Current as App).MyManager;
public MainPage()
{
InitializeComponent();
this.BindingContext = this;
}
mgr.EvenementAdded += OnEvenementAdded;
public void VueInfo(object sender, EventArgs e)
}
private void OnEvenementAdded(Evenement evenement)
{
// Logique à exécuter lorsque un événement est ajouté
// Par exemple : affichez le nom de l'événement dans la console
Debug.WriteLine("Événement ajoutéz : " + evenement.Nom);
Button newButton = new Button
{
Text = evenement.Nom,
VerticalOptions = LayoutOptions.Center,
HorizontalOptions = LayoutOptions.Center
};
// Ajouter le bouton au ButtonStackLayout
ButtonStackLayout.Children.Add(newButton); ;
}
public void test(object sender, EventArgs e)
{
//changervue
Debug.WriteLine("Taille liste Evenement = " + mgr.Evenement.Count);
foreach(Evenement evenement in mgr.Evenement)
{
Debug.Write(evenement);
}
}
public void Button_Clicked(object sender, EventArgs e)
{

@ -1,7 +1,9 @@
using ParionsCuite.Views.Invite;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;
@ -9,8 +11,12 @@ using System.Threading.Tasks;
namespace ParionsCuite.Modeles
{
[DataContract]
public class Evenement
public class Evenement : INotifyPropertyChanged
{
public event PropertyChangedEventHandler? PropertyChanged;
void OnPropertyChanged([CallerMemberName] string propertyName = null)
=> PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
/* Déclaration */
[DataMember]
public string Nom { get; private set; }

@ -2,7 +2,9 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Threading.Tasks;
@ -13,7 +15,33 @@ namespace ParionsCuite.Modeles
{
public event PropertyChangedEventHandler PropertyChanged;
public ObservableCollection<Evenement> Evenement { get; private set; }
public event Action<Evenement> EvenementAdded;
private ObservableCollection<Evenement> evenement;
void OnPropertyChanged([CallerMemberName] string propertyName = null)
=> PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
public ObservableCollection<Evenement> Evenement
{
get { return evenement; }
set
{
if (evenement != value)
{
evenement = value;
OnPropertyChanged();
OnEvenementAdded(value.LastOrDefault()); // Appel de la fonction après ajout d'un événement
}
}
}
private void OnEvenementAdded(Evenement evenement)
{
// Logique à exécuter lorsque un événement est ajouté
// Par exemple : affichez le nom de l'événement dans la console
Debug.WriteLine("Événement ajouté : ");
}
public List<Inviter> Invites { get; set; }
public IPersistanceManager Persistance { get; set; }
@ -37,13 +65,10 @@ namespace ParionsCuite.Modeles
public bool Ajout_evenement(Evenement ev)
{
Evenement.Add(ev);
foreach (Evenement e in Evenement)
{
if (e == ev)
return true;
}
return false;
Evenement.Add(ev);
OnPropertyChanged(nameof(Evenement));
EvenementAdded?.Invoke(ev);
return true;
}
public bool Supprimer_evenement(Evenement ev)

@ -7,7 +7,7 @@ namespace ParionsCuite.Views;
public partial class Groupe : ContentView
{
public Manageur mgr = new Manageur();
public Manageur mgr => (App.Current as App).MyManager;
public ObservableCollection<Evenement> Evenements { get; set; } = new ObservableCollection<Evenement>();
public Groupe()

Loading…
Cancel
Save