Navigation dans la page favoris

pull/15/head
Yoan 2 years ago
parent 00cbfbfdb2
commit 45ddb6930f

@ -104,9 +104,9 @@ namespace Model
return listeFavoris; return listeFavoris;
} }
public void AddFavoris(ObjetOhara obj) public void AddBateauFavoris(Bateau bateau)
{ {
obj.EstFavori = true; bateau.EstFavori = true;
} }
} }
} }

@ -16,7 +16,7 @@ public partial class PageBestiaire : ContentPage
var manager = new Manager(); var manager = new Manager();
AjouterFavoris = new Command((obj) => manager.AddFavoris((ObjetOhara)obj));
listeBest.ItemsSource = manager.GetBestiaires(); listeBest.ItemsSource = manager.GetBestiaires();

@ -13,28 +13,23 @@
<ColumnDefinition Width="90*" /> <ColumnDefinition Width="90*" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<VerticalStackLayout BackgroundColor="#72a3b3" Grid.Row="0" Grid.Column="0" Spacing="10"> <VerticalStackLayout BackgroundColor="#72a3b3" Grid.Row="0" Grid.Column="0" Spacing="10">
<Image Source="ohara2.png" HeightRequest="200" HorizontalOptions="Center"> <Image Source="ohara2.png" HeightRequest="200" HorizontalOptions="Center">
<Image.Clip> <Image.Clip>
<EllipseGeometry Center="150,90" RadiusX="80" RadiusY="80"/> <EllipseGeometry Center="150,90" RadiusX="80" RadiusY="80"/>
</Image.Clip> </Image.Clip>
</Image> </Image>
<Button Style="{StaticResource buttonMenu}" Text="Accueil" Clicked="Hyperlink_Accueil"/> <Button Style="{StaticResource buttonMenu}" Text="Accueil" Clicked="Hyperlink_Accueil"/>
<Button Style="{StaticResource buttonMenu}" Text="Carte" Clicked="Hyperlink_Carte"/> <Button Style="{StaticResource buttonMenu}" Text="Carte" Clicked="Hyperlink_Carte"/>
<Button Style="{StaticResource buttonMenu}" Text="Personnages" Clicked="Hyperlink_Perso"/> <Button Style="{StaticResource buttonMenu}" Text="Personnages" Clicked="Hyperlink_Perso"/>
<Button Style="{StaticResource buttonMenu}" Text="Fruits du démon" Clicked="Hyperlink_FDD"/> <Button Style="{StaticResource buttonMenu}" Text="Fruits du démon" Clicked="Hyperlink_FDD"/>
<Button Style="{StaticResource buttonMenu}" Text="Bateaux" Clicked="Hyperlink_Bateau"/> <Button Style="{StaticResource buttonMenu}" Text="Bateaux" Clicked="Hyperlink_Bateau"/>
<Button Style="{StaticResource buttonMenu}" Text="Îles" Clicked="Hyperlink_Ile"/> <Button Style="{StaticResource buttonMenu}" Text="Îles" Clicked="Hyperlink_Ile"/>
<Button Style="{StaticResource buttonMenu2}" Text="Bestiaire" Clicked="Hyperlink_Bestiaire"/> <Button Style="{StaticResource buttonMenu}" Text="Bestiaire" Clicked="Hyperlink_Bestiaire"/>
<Button Style="{StaticResource buttonMenu}" Text="Équipages" Clicked="Hyperlink_Equip"/> <Button Style="{StaticResource buttonMenu}" Text="Équipages" Clicked="Hyperlink_Equip"/>
<Button Style="{StaticResource buttonMenu}" Text="Favoris" /> <Button Style="{StaticResource buttonMenu2}" Text="Favoris" />
</VerticalStackLayout> </VerticalStackLayout>
<CollectionView x:Name="listeFavs" Grid.Column="1" SelectionMode="Single" SelectionChanged="listeFavs_SelectionChanged" >
<CollectionView.ItemsLayout>
<CollectionView x:Name="listeFavs" Grid.Column="1" SelectionMode="Single" SelectionChanged="listeFavs_SelectionChanged">
<CollectionView.ItemsLayout Style="">
<GridItemsLayout Orientation="Vertical" Span="4" /> <GridItemsLayout Orientation="Vertical" Span="4" />
</CollectionView.ItemsLayout> </CollectionView.ItemsLayout>
<CollectionView.Header> <CollectionView.Header>
@ -59,11 +54,8 @@
</Grid> </Grid>
</CollectionView.Header> </CollectionView.Header>
<CollectionView.ItemTemplate> <CollectionView.ItemTemplate>
<DataTemplate> <DataTemplate>
<Frame Style="{StaticResource frameObjet}" Margin="15">
<Frame Style="{StaticResource frameObjet}" Margin="10">
<StackLayout Orientation="Vertical" Padding="5"> <StackLayout Orientation="Vertical" Padding="5">
<Image <Image
Source="{Binding Image}" Source="{Binding Image}"
@ -81,14 +73,8 @@
FontAttributes="Bold" /> FontAttributes="Bold" />
</StackLayout> </StackLayout>
</Frame> </Frame>
</DataTemplate> </DataTemplate>
</CollectionView.ItemTemplate> </CollectionView.ItemTemplate>
</CollectionView> </CollectionView>
</Grid> </Grid>
</ContentPage> </ContentPage>

@ -74,8 +74,20 @@ public partial class PageFavoris : ContentPage
async void listeFavs_SelectionChanged(object sender, SelectionChangedEventArgs e) async void listeFavs_SelectionChanged(object sender, SelectionChangedEventArgs e)
{ {
Type t = listeFavs.SelectedItem.GetType();
Console.WriteLine(t);
if (t.Equals(typeof(Bateau)))
await Navigation.PushAsync(new PageInfoBateau((Bateau)listeFavs.SelectedItem)); await Navigation.PushAsync(new PageInfoBateau((Bateau)listeFavs.SelectedItem));
else if (t.Equals(typeof(Equipage)))
await Navigation.PushAsync(new PageInfoEquipage((Equipage)listeFavs.SelectedItem));
else if (t.Equals(typeof(Personnage)))
await Navigation.PushAsync(new PageInfoPersonnage((Personnage)listeFavs.SelectedItem));
else if (t.Equals(typeof(Ile)))
await Navigation.PushAsync(new PageInfoIle((Ile)listeFavs.SelectedItem));
else if (t.Equals(typeof(FruitDuDemon)))
await Navigation.PushAsync(new PageInfoFdd((FruitDuDemon)listeFavs.SelectedItem));
else if (t.Equals(typeof(Bestiaire)))
await Navigation.PushAsync(new PageInfoBestiaire((Bestiaire)listeFavs.SelectedItem));
} }
} }

@ -42,6 +42,7 @@
<ColumnDefinition Width="40*"/> <ColumnDefinition Width="40*"/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<VerticalStackLayout Grid.Column="0" Spacing="4"> <VerticalStackLayout Grid.Column="0" Spacing="4">
<Button x:Name="ButtonFav" Text="Ajouter aux favoris" Style="{StaticResource buttonFavsInfo}"/>
<Frame Style="{StaticResource frameInfo}"> <Frame Style="{StaticResource frameInfo}">
<Label Text="Sommaire" Style="{StaticResource titreInfo}"/> <Label Text="Sommaire" Style="{StaticResource titreInfo}"/>
</Frame> </Frame>
@ -51,11 +52,13 @@
<Frame Style="{StaticResource frameInfo}"> <Frame Style="{StaticResource frameInfo}">
<Label Text="2 - Caracteristiques" TextColor="#72a3b3"/> <Label Text="2 - Caracteristiques" TextColor="#72a3b3"/>
</Frame> </Frame>
<Frame Style="{StaticResource frameInfo}">
<Label Text="{Binding EstFavori}" TextColor="#72a3b3"/>
</Frame>
</VerticalStackLayout> </VerticalStackLayout>
<VerticalStackLayout Grid.Column="1" Spacing="4"> <VerticalStackLayout Grid.Column="1" Spacing="4">
<Frame Style="{StaticResource frameInfo}"> <Frame Style="{StaticResource frameInfo}">
<Label Style="{StaticResource titreInfo}" Text="{Binding Nom}"/> <Label Style="{StaticResource titreInfo}" Text="{Binding Nom}" HorizontalOptions="Center"/>
</Frame> </Frame>
<Frame Style="{StaticResource frameInfo}" > <Frame Style="{StaticResource frameInfo}" >
<Image <Image

@ -1,14 +1,18 @@
using Model.Stub; using Model.Stub;
using Model; using Model;
using System.Windows.Input;
namespace Ohara; namespace Ohara;
public partial class PageInfoBateau : ContentPage public partial class PageInfoBateau : ContentPage
{ {
public ICommand AjouterFavs { get; private set; }
public PageInfoBateau(Bateau bateau) public PageInfoBateau(Bateau bateau)
{ {
InitializeComponent(); InitializeComponent();
BindingContext=bateau; BindingContext=bateau;
AjouterFavs = new Command(() => bateau.EstFavori = true);
ButtonFav.Command = AjouterFavs;
} }
@ -52,4 +56,6 @@ public partial class PageInfoBateau : ContentPage
{ {
await Navigation.PushAsync(new PageFavoris(new Plugin.Maui.Audio.AudioManager())); await Navigation.PushAsync(new PageFavoris(new Plugin.Maui.Audio.AudioManager()));
} }
} }

@ -642,4 +642,36 @@
<Setter Property="Padding" Value="7"/> <Setter Property="Padding" Value="7"/>
</Style> </Style>
<Style TargetType="Button" x:Key="buttonFavsInfo">
<Setter Property="VisualStateManager.VisualStateGroups">
<VisualStateGroupList>
<VisualStateGroup>
<VisualState x:Name="Normal">
<VisualState.Setters>
<Setter Property="BackgroundColor" Value="#72a3b3"/>
<Setter Property="TextColor" Value="White"/>
<Setter Property="FontSize" Value="20"/>
<Setter Property="Padding" Value="17"/>
</VisualState.Setters>
</VisualState>
<VisualState x:Name="PointerOver">
<VisualState.Setters>
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Color="#cdffd8" Offset="0.1" />
<GradientStop Color="#94b9ff" Offset="0.5" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
<Setter Property="TextColor" Value="White"/>
<Setter Property="FontSize" Value="20"/>
<Setter Property="Padding" Value="17"/>
</VisualState.Setters>
</VisualState>
</VisualStateGroup>
</VisualStateGroupList>
</Setter>
</Style>
</ResourceDictionary> </ResourceDictionary>

@ -7,7 +7,7 @@ var manager = new Manager();
var xml = new XML_Serializer(); var xml = new XML_Serializer();
Bestiaire luffy = new Bestiaire("", "", "", ""); Bestiaire luffy = new Bestiaire("test", "", "", "");
/* /*
xml.SetPersonnage(manager.GetPersonnages().ToList()); xml.SetPersonnage(manager.GetPersonnages().ToList());
xml.SetFDD(manager.GetFruits().ToList()); xml.SetFDD(manager.GetFruits().ToList());
@ -18,9 +18,9 @@ xml.SetIle(manager.GetIles().ToList());
*/ */
List<ObjetOhara> listeFavoris = manager.GetFavoris(); Type t = luffy.GetType();
if (t.Equals(typeof(Bestiaire)))
Console.WriteLine(luffy.Nom);
foreach(ObjetOhara obj in listeFavoris)
{ Console.WriteLine(t.Equals(typeof(Bestiaire)));
Console.WriteLine(obj.Nom);
}

Loading…
Cancel
Save