Début du databinding
continuous-integration/drone/push Build is passing Details

master
Pauline PRADY 11 months ago
parent 853d486439
commit 7833e48ebd

@ -0,0 +1,11 @@
namespace CoreLibrary.Manager
{
public interface IPersistanceManager
{
public void Charger();
public void Enregistrer();
}
}

@ -0,0 +1,26 @@
using CoreLibrary.Joueurs;
using CoreLibrary.Regles;
namespace CoreLibrary.Manager
{
public class Manager : IPersistanceManager
{
private Joueur[] classement = [];
public List<Joueur> Classement => new List<Joueur>(classement);
public void Charger()
{
classement = [
new Joueur("Pauline", new Core.Plateau(4, 12)),
new Joueur("Céleste", new Core.Plateau(4, 12)),
new Joueur("Camille", new Core.Plateau(4, 12)),
new Joueur("Toto", new Core.Plateau(4, 12)),
];
}
public void Enregistrer()
{
}
}
}

@ -1,11 +1,16 @@
using Microsoft.Extensions.Logging;
using CoreLibrary.Manager;
using Microsoft.Extensions.Logging;
namespace MauiSpark
{
public static class MauiProgram
{
public static Manager Manager { get; private set; } = new Manager();
public static MauiApp CreateMauiApp()
{
Manager.Charger();
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()

@ -62,6 +62,10 @@
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="8.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CoreLibrary\CoreLibrary.csproj" />
</ItemGroup>
<ItemGroup>
<MauiXaml Update="Pages\Accueil.xaml">
<Generator>MSBuild:Compile</Generator>

@ -26,17 +26,6 @@
</Grid>
</Frame>
<views:CTableauScore/>
<views:CTableauScore/>
<views:CTableauScore/>
<views:CTableauScore/>
<views:CTableauScore/>
<views:CTableauScore/>
<views:CTableauScore/>
<views:CTableauScore/>
<views:CTableauScore/>
<views:CTableauScore/>
<views:CTableauScore/>
<views:CTableauScore/>
</VerticalStackLayout>
</ScrollView>

@ -5,10 +5,21 @@
<Frame CornerRadius="5" Padding="0" VerticalOptions="Start" Margin="20,0,20,10" >
<Grid ColumnDefinitions="auto,*,auto,auto" ColumnSpacing="10">
<Label Grid.Column="0" Text="N°1" Margin="20" Style="{StaticResource TexteFrame}" />
<Label Grid.Column="1" Text="Joueur 1" Margin="20" Style="{StaticResource TexteFrame}" />
<Label Grid.Column="2" Text="5" Margin="20" Style="{StaticResource TexteFrame}" />
<Label Grid.Column="3" Text="10000" Margin="20" Style="{StaticResource TexteFrame}"/>
<ListView ItemsSource="{Binding}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid ColumnDefinitions="*,*,*,*">
<Label Grid.Column="0" Text="{Binding Place}" Margin="20" Style="{StaticResource TexteFrame}" />
<Label Grid.Column="1" Text="{Binding Joueur.Nom}" Margin="20" Style="{StaticResource TexteFrame}" />
<Label Grid.Column="2" Text="{Binding Joueur.Nom}" Margin="20" Style="{StaticResource TexteFrame}" />
<Label Grid.Column="3" Text="{Binding Joueur.Nom}" Margin="20" Style="{StaticResource TexteFrame}" />
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
</Frame>
</ContentView>

@ -1,9 +1,37 @@
using CoreLibrary.Joueurs;
using CoreLibrary.Manager;
namespace MauiSpark.Views;
internal class JoueurClassement
{
private Manager manager;
private Joueur joueur;
public Joueur Joueur
{
get => joueur;
private set => joueur = value;
}
public int Place
{
get => manager.Classement.IndexOf(Joueur) + 1;
}
public JoueurClassement(Joueur joueur, Manager manager)
{
this.manager = manager;
this.joueur = joueur;
}
}
public partial class CTableauScore : ContentView
{
public CTableauScore()
{
InitializeComponent();
BindingContext = MauiProgram.Manager.Classement.Select(joueur => new JoueurClassement(joueur, MauiProgram.Manager));
}
}
Loading…
Cancel
Save