creation page ile avec les stubs et la navigation de la page MAIS problème avec initializecomponent()

devGuillaume
Guillaume REY 2 years ago
parent 7ace799957
commit 3a957d346b

@ -15,8 +15,10 @@ namespace Model
public int PremierEp { get; set; }
public string Description { get; set; }
public string Geographie { get; set; }
public string? Image { get; set; }
public Ile(string nom, string nomRomanise, string region, int premierChap, int premierEp, string description, string geographie)
public Ile(string nom, string nomRomanise, string region, int premierChap, int premierEp, string description, string geographie, string image)
{
Nom = nom;
NomRomanise = nomRomanise;
@ -25,6 +27,7 @@ namespace Model
PremierEp = premierEp;
Description = description;
Geographie = geographie;
Image = image;
}
}
}

@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Net.Mime.MediaTypeNames;
namespace Model.Stub
{
public static class StubIle
{
public static IEnumerable<Ile> RecupererIle()
{
List<Ile> ile = new List<Ile>()
{
new Ile("Dawn", "Don-to", "East Blue", 1, 4, "L'île de Dawn est ...", "Cette île est situé dans la mer d'East Blue près de ...", "dawn.png"),
new Ile("Water Seven", "Mizu no Miyako Wōtā Sebun", "Première partie de Grand Line", 323, 229, "Water Seven est ...", "Cette île est situé dans la première partie de Grand Line près de ...", "water_seven.png"),
new Ile("Alabsta", "Arabasuta-Ōkoku'", "Première partie de Grand Line", 113, 78, "L'île d'Alabsta est ...", "Cette île est situé dans la première partie de Grand Line près de ...", "alabasta.png"),
};
return ile;
}
}
}

@ -29,7 +29,7 @@
<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="Bateaux" Clicked="Hyperlink_Bateau"/>
<Button Style="{StaticResource buttonMenu}" Text="Îles"/>
<Button Style="{StaticResource buttonMenu}" Text="Îles" Clicked="Hyperlink_Ile"/>
<Button Style="{StaticResource buttonMenu}" Text="Bestiaire" Clicked="Hyperlink_Bestiaire"/>
<Button Style="{StaticResource buttonMenu}" Text="Équipages" Clicked="Hyperlink_Equip"/>
</VerticalStackLayout>

@ -35,5 +35,9 @@ public partial class MainPage : ContentPage
{
await Navigation.PushAsync(new PageBestiaire());
}
private async void Hyperlink_Ile(object sender, EventArgs e)
{
await Navigation.PushAsync(new PageIle());
}
}

@ -48,6 +48,16 @@
<MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<MauiXaml Remove="PageIle.xaml" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="PageIle.xaml">
<Generator>MSBuild:UpdateDesignTimeXaml</Generator>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" />
</ItemGroup>
@ -57,6 +67,9 @@
</ItemGroup>
<ItemGroup>
<Compile Update="PageIle.xaml.cs">
<DependentUpon>PageIle.xaml</DependentUpon>
</Compile>
<Compile Update="PageBestiaire.xaml.cs">
<DependentUpon>PageBestiaire.xaml</DependentUpon>
</Compile>

@ -28,7 +28,7 @@
<Button Style="{StaticResource buttonMenu}" Text="Personnages" Clicked="Hyperlink_Perso"/>
<Button Style="{StaticResource buttonMenu}" Text="Fruits du démon" Clicked="Hyperlink_FDD"/>
<Button Style="{StaticResource buttonMenu2}" Text="Bateaux"/>
<Button Style="{StaticResource buttonMenu}" Text="Îles"/>
<Button Style="{StaticResource buttonMenu}" Text="Îles" Clicked="Hyperlink_Ile"/>
<Button Style="{StaticResource buttonMenu}" Text="Bestiaire" Clicked="Hyperlink_Bestiaire"/>
<Button Style="{StaticResource buttonMenu}" Text="Équipages" Clicked="Hyperlink_Equip"/>
</VerticalStackLayout>

@ -39,4 +39,8 @@ public partial class PageBateau : ContentPage
{
await Navigation.PushAsync(new PageBestiaire());
}
private async void Hyperlink_Ile(object sender, EventArgs e)
{
await Navigation.PushAsync(new PageIle());
}
}

@ -25,7 +25,7 @@
<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="Bateaux" Clicked="Hyperlink_Bateau"/>
<Button Style="{StaticResource buttonMenu}" Text="Îles"/>
<Button Style="{StaticResource buttonMenu}" Text="Îles" Clicked="Hyperlink_Ile"/>
<Button Style="{StaticResource buttonMenu2}" Text="Bestiaire"/>
<Button Style="{StaticResource buttonMenu}" Text="Équipages" Clicked="Hyperlink_Equip"/>
</VerticalStackLayout>

@ -42,5 +42,8 @@ public partial class PageBestiaire : ContentPage
await Navigation.PushAsync(new PagePersonnage());
}
private async void Hyperlink_Ile(object sender, EventArgs e)
{
await Navigation.PushAsync(new PageIle());
}
}

@ -27,7 +27,7 @@
<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="Bateaux" Clicked="Hyperlink_Bateau"/>
<Button Style="{StaticResource buttonMenu}" Text="Îles"/>
<Button Style="{StaticResource buttonMenu}" Text="Îles" Clicked="Hyperlink_Ile"/>
<Button Style="{StaticResource buttonMenu}" Text="Bestiaire" Clicked="Hyperlink_Bestiaire"/>
<Button Style="{StaticResource buttonMenu}" Text="Équipages" Clicked="Hyperlink_Equip"/>
</VerticalStackLayout>

@ -34,4 +34,8 @@ public partial class PageCarte : ContentPage
{
await Navigation.PushAsync(new PageBestiaire());
}
private async void Hyperlink_Ile(object sender, EventArgs e)
{
await Navigation.PushAsync(new PageIle());
}
}

@ -26,7 +26,7 @@
<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="Bateaux" Clicked="Hyperlink_Bateau"/>
<Button Style="{StaticResource buttonMenu}" Text="Îles"/>
<Button Style="{StaticResource buttonMenu}" Text="Îles" Clicked="Hyperlink_Ile"/>
<Button Style="{StaticResource buttonMenu}" Text="Bestiaire" Clicked="Hyperlink_Bestiaire"/>
<Button Style="{StaticResource buttonMenu2}" Text="Équipages"/>
</VerticalStackLayout>

@ -45,6 +45,10 @@ public partial class PageEquipage : ContentPage
{
await Navigation.PushAsync(new PageCarte());
}
private async void Hyperlink_Ile(object sender, EventArgs e)
{
await Navigation.PushAsync(new PageIle());
}
private void listeEquip_ScrollToRequested(object sender, ScrollToRequestEventArgs e)
{

@ -29,7 +29,7 @@
<Button Style="{StaticResource buttonMenu}" Text="Personnages" Clicked="Hyperlink_Perso"/>
<Button Style="{StaticResource buttonMenu2}" Text="Fruits du démon"/>
<Button Style="{StaticResource buttonMenu}" Text="Bateaux" Clicked="Hyperlink_Bateau"/>
<Button Style="{StaticResource buttonMenu}" Text="Îles"/>
<Button Style="{StaticResource buttonMenu}" Text="Îles" Clicked="Hyperlink_Ile"/>
<Button Style="{StaticResource buttonMenu}" Text="Bestiaire" Clicked="Hyperlink_Bestiaire"/>
<Button Style="{StaticResource buttonMenu}" Text="Équipages" Clicked="Hyperlink_Equip"/>
</VerticalStackLayout>

@ -46,4 +46,8 @@ public partial class PageFDD : ContentPage
{
await Navigation.PushAsync(new PageBestiaire());
}
private async void Hyperlink_Ile(object sender, EventArgs e)
{
await Navigation.PushAsync(new PageIle());
}
}

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Ohara.PageIle"
Title="PageIle"
BackgroundColor="#e2edf1">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="2*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="300" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<VerticalStackLayout BackgroundColor="#72a3b3" Grid.Row="0" Grid.Column="0" Spacing="10">
<Image Source="ohara2.png" HeightRequest="300" HorizontalOptions="Center" >
<Image.Clip>
<EllipseGeometry Center="150,90" RadiusX="80" RadiusY="80"/>
</Image.Clip>
</Image>
<Button Style="{StaticResource buttonMenu}" Text="Accueil" Clicked="Hyperlink_Accueil"/>
<Button Style="{StaticResource buttonMenu}" Text="Carte" Clicked="Hyperlink_Carte"/>
<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="Bateaux" Clicked="Hyperlink_Bateau"/>
<Button Style="{StaticResource buttonMenu2}" Text="Îles"/>
<Button Style="{StaticResource buttonMenu}" Text="Bestiaire" Clicked="Hyperlink_Bestiaire"/>
<Button Style="{StaticResource buttonMenu}" Text="Équipages" Clicked="Hyperlink_Equip"/>
</VerticalStackLayout>
<VerticalStackLayout Grid.Row="0" Grid.Column="1" Spacing="40">
<Grid BackgroundColor="#72a3b3" Padding="10" ColumnSpacing="50" >
<Grid.RowDefinitions>
<RowDefinition Height="10*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions >
<ColumnDefinition Width="20*"/>
<ColumnDefinition Width="25*"/>
<ColumnDefinition Width="10*"/>
<ColumnDefinition Width="10*"/>
</Grid.ColumnDefinitions>
<SearchBar Placeholder="Rechercher..." BackgroundColor="#bfe5ef" Grid.Column="0"/>
<Frame CornerRadius="20" BackgroundColor="#bfe5ef" BorderColor="#bfe5ef" Grid.Column="2">
<Label Text="Filtrer" HorizontalTextAlignment="Center" />
</Frame>
<Frame CornerRadius="20" BackgroundColor="#bfe5ef" BorderColor="#bfe5ef" Grid.Column="3">
<Label Text="Trier" HorizontalTextAlignment="Center" />
</Frame>
</Grid>
<ScrollView Orientation="Horizontal" HorizontalScrollBarVisibility="Always">
<CollectionView x:Name="listeIle" ItemsLayout="HorizontalList">
<CollectionView.ItemTemplate>
<DataTemplate>
<Grid Padding="50" ColumnSpacing="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="400"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="750"/>
</Grid.RowDefinitions>
<Frame
CornerRadius="25"
BorderColor="#e2edf1"
IsClippedToBounds="True"
Padding="0"
HeightRequest="800"
WidthRequest="450">
<Image
Source="{Binding Image}"
Aspect="Fill"
/>
</Frame>
<Frame CornerRadius="20"
BorderColor="#72a3b3"
BackgroundColor="#72a3b3"
Margin="20, 50" Padding="15"
WidthRequest="275"
HeightRequest="150"
Grid.Row="0"
VerticalOptions="End">
<StackLayout Orientation="Vertical" Spacing="10" VerticalOptions="Center">
<Label
Text="{Binding Nom}"
FontAttributes="Bold"
FontSize="22"
TextColor="White"
HorizontalOptions="Center"
/>
<Label
Text="-----------------------------"
FontAttributes="Bold"
FontSize="20"
TextColor="White"
HorizontalOptions="Center"
/>
<Label
Text="Cliquez ici pour voir en détail"
FontAttributes="Bold,Italic"
FontSize="15"
TextColor="White"
TextDecorations="Underline"
HorizontalOptions="Center"/>
</StackLayout>
</Frame>
</Grid>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</ScrollView>
</VerticalStackLayout>
<!--<Rectangle WidthRequest="200" HeightRequest="300" HorizontalOptions="Start" BackgroundColor="#72a3b3">
<Rectangle.Fill>
<LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
<GradientStop Color="#cdffd8" Offset="0.0" />-->
<!--<GradientStop Color="#94b9ff" Offset="1.0" /></LinearGradientBrush></Rectangle.Fill></Rectangle>-->
</Grid>
</ContentPage>

@ -0,0 +1,46 @@
using Model.Stub;
using Model;
namespace Ohara;
public partial class PageIle : ContentPage
{
public PageIle()
{
InitializeComponent();
List<Ile> ile = StubIle.RecupererIle().ToList();
listeIle.ItemsSource = ile;
}
private async void Hyperlink_FDD(object sender, EventArgs e)
{
await Navigation.PushAsync(new PageFDD());
}
private async void Hyperlink_Equip(object sender, EventArgs e)
{
await Navigation.PushAsync(new PageEquipage());
}
private async void Hyperlink_Perso(object sender, EventArgs e)
{
await Navigation.PushAsync(new PagePersonnage());
}
private async void Hyperlink_Carte(object sender, EventArgs e)
{
await Navigation.PushAsync(new PageCarte());
}
private async void Hyperlink_Accueil(object sender, EventArgs e)
{
await Navigation.PushAsync(new MainPage());
}
private async void Hyperlink_Bestiaire(object sender, EventArgs e)
{
await Navigation.PushAsync(new PageBestiaire());
}
private async void Hyperlink_Bateau(object sender, EventArgs e)
{
await Navigation.PushAsync(new PageBateau());
}
}

@ -27,7 +27,7 @@
<Button Style="{StaticResource buttonMenu2}" Text="Personnages"/>
<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="Îles"/>
<Button Style="{StaticResource buttonMenu}" Text="Îles" Clicked="Hyperlink_Ile"/>
<Button Style="{StaticResource buttonMenu}" Text="Bestiaire" Clicked="Hyperlink_Bestiaire"/>
<Button Style="{StaticResource buttonMenu}" Text="Équipages" Clicked="Hyperlink_Equip"/>
</VerticalStackLayout>

@ -42,4 +42,8 @@ public partial class PagePersonnage : ContentPage
{
await Navigation.PushAsync (new PageBestiaire());
}
private async void Hyperlink_Ile(object sender, EventArgs e)
{
await Navigation.PushAsync(new PageIle());
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Loading…
Cancel
Save