test binding, affichage de la gamelist
continuous-integration/drone/push Build is passing Details

Popup_qui_marche_pas
Anthony RICHARD 2 years ago
parent 804b437e44
commit 3af4ba1307

@ -1,12 +1,13 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Model namespace Model
{ {
public class Game public class Game : INotifyPropertyChanged
{ {
public string Name public string Name
{ {
@ -43,7 +44,7 @@ namespace Model
public string[] Tags public string[] Tags
{ {
get { return tags; } get => tags;
set set
{ {
if (value == null || value.Length != 3) return; if (value == null || value.Length != 3) return;
@ -52,6 +53,8 @@ namespace Model
} }
private string[]? tags; private string[]? tags;
public event PropertyChangedEventHandler? PropertyChanged;
public List<Review> Reviews { get; private init; } public List<Review> Reviews { get; private init; }
public Game(string name, string description, int year, string[] tags) public Game(string name, string description, int year, string[] tags)

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -8,13 +9,15 @@ namespace Model
{ {
public class Manager public class Manager
{ {
public List<Game> Games = new(); public ObservableCollection<Game> Games { get; set; } = new();
private IPersistance _persistance; private IPersistance _persistance;
public Manager(IPersistance persistance) public Manager(IPersistance persistance)
{ {
_persistance = persistance; _persistance = persistance;
Games = _persistance.LoadGame(); Games.Add(new("test", "description", 2010, new string[3] { "1", "2", "3" }));
Games.Add(new("test2", "description", 2010, new string[3] { "1", "2", "3" }));
Games.Add(new("test2", "description", 2010, new string[3] { "1", "2", "3" }));
} }
} }
} }

@ -1,23 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
namespace Model
{
public interface Persistable
{
public void Load()
{
Console.WriteLine("Todo");
//To do
}
public void Save(List<Game> gamesList)
{
Console.WriteLine("Todo");
//To do
}
}
}

@ -14,75 +14,60 @@
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="auto"/> <RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<VerticalStackLayout BackgroundColor="Black" Grid.Column="0"/> <VerticalStackLayout BackgroundColor="Black" Grid.Column="0"/>
<VerticalStackLayout BackgroundColor="Black" Grid.Column="2"/> <VerticalStackLayout BackgroundColor="Black" Grid.Column="2"/>
<VerticalStackLayout BackgroundColor="Black" Grid.Column="0" Grid.Row="1"/> <VerticalStackLayout BackgroundColor="Black" Grid.Column="0" Grid.Row="1"/>
<VerticalStackLayout BackgroundColor="Black" Grid.Column="2" Grid.Row="1"/> <VerticalStackLayout BackgroundColor="Black" Grid.Column="2" Grid.Row="1"/>
<ListView ItemsSource="{Binding Games}" Grid.Column="1">
<Grid Grid.Column="1" Grid.Row="1" Margin="0"> <ListView.ItemTemplate>
<Grid.ColumnDefinitions> <DataTemplate>
<ColumnDefinition Width="*"/> <ViewCell>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Border Margin="10,10,10,0" HeightRequest="750">
<Border.GestureRecognizers>
<TapGestureRecognizer Tapped="Button_Clicked"/>
</Border.GestureRecognizers>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Image Source="eldenring.jpg" Aspect="AspectFit" Margin="0,0,0,0"/>
<Label TextColor="White" FontAttributes="Bold" FontSize="30" Margin="5" FontFamily="arial" Text="Elden Ring" Grid.Row="1" HorizontalTextAlignment="Center"/>
<Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto"/> <RowDefinition Height="auto"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="auto"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="auto"/>
<RowDefinition Height="Auto"/> <RowDefinition Height="auto"/>
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Label TextColor="White" FontSize="15" Margin="5" FontFamily="arial" Text="Tag :" Grid.Row="0"/> <Image Source="eldenring.jpg" Aspect="AspectFit" Margin="0,0,0,0"/>
<Label TextColor="White" FontSize="15" Margin="5" FontFamily="arial" Text=" - Game of the year" Grid.Row="1"/> <Label TextColor="White" FontAttributes="Bold" FontSize="30" Margin="5" FontFamily="arial" Text="{Binding Name}" Grid.Row="1" HorizontalTextAlignment="Center"/>
<Label TextColor="White" FontSize="15" Margin="5" FontFamily="arial" Text=" - RPG" Grid.Row="2"/>
<Label TextColor="White" FontSize="15" Margin="5" FontFamily="arial" Text=" - Souls" Grid.Row="3"/> <Grid Grid.Row="2">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Label TextColor="White" FontSize="15" Margin="5" FontFamily="arial" Text="Tag :" Grid.Row="0"/>
<Label TextColor="White" FontSize="15" Margin="5" FontFamily="arial" Text=" - Game of the year" Grid.Row="1"/>
<Label TextColor="White" FontSize="15" Margin="5" FontFamily="arial" Text=" - RPG" Grid.Row="2"/>
<Label TextColor="White" FontSize="15" Margin="5" FontFamily="arial" Text=" - Souls" Grid.Row="3"/>
</Grid>
<Label TextColor="White" FontSize="15" Margin="5" FontFamily="arial" Text="{Binding Year}" Grid.Column="2" HorizontalTextAlignment="End" VerticalTextAlignment="End"/>
</Grid>
<Label TextColor="White" FontSize="15" Margin="5" FontFamily="arial" Text="{Binding Description}" Grid.Row="3"/>
</Grid> </Grid>
<Label TextColor="White" FontSize="15" Margin="5" FontFamily="arial" Text="25/02/2022" Grid.Column="2" HorizontalTextAlignment="End" VerticalTextAlignment="End"/> </ViewCell>
</Grid> </DataTemplate>
<Label TextColor="White" FontSize="15" Margin="5" FontFamily="arial" Text="Elden Ring is an action role-playing game played in a third person perspective, with gameplay focusing on combat and exploration. It features elements similar to those found in other games developed by FromSoftware, such as the Dark Souls series, Bloodborne, and Sekiro: Shadows Die Twice." Grid.Row="3"/> </ListView.ItemTemplate>
</Grid> </ListView>
</Border>
</Grid>
</Grid> </Grid>
</ScrollView> </ScrollView>
</ContentPage> </ContentPage>

@ -1,10 +1,17 @@
namespace Stim; namespace Stim;
using Model;
using StimPersistance;
public partial class MainPage : ContentPage public partial class MainPage : ContentPage
{ {
public IPersistance persistance = new Persistance();
public Manager Manager;
public MainPage() public MainPage()
{ {
InitializeComponent(); InitializeComponent();
Manager = new(persistance);
BindingContext = Manager;
} }
private async void Button_Clicked(object sender, EventArgs e) private async void Button_Clicked(object sender, EventArgs e)

@ -50,6 +50,11 @@
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" /> <MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Persistance\Persistance.csproj" />
<ProjectReference Include="..\Stim.Model\Model.csproj" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<MauiXaml Update="DetailledPage.xaml"> <MauiXaml Update="DetailledPage.xaml">
<Generator>MSBuild:Compile</Generator> <Generator>MSBuild:Compile</Generator>

Loading…
Cancel
Save