Search Bar works BUT image dont load until we write something in the search bar
continuous-integration/drone/push Build is failing Details

pull/29/head
Matheo HERSAN 2 years ago
parent 4651aca48e
commit 3321ff21e0

@ -13,10 +13,7 @@ namespace MangaMap.Model
{ {
public class Manager : System.ComponentModel.INotifyPropertyChanged public class Manager : System.ComponentModel.INotifyPropertyChanged
{ {
public event PropertyChangedEventHandler? PropertyChanged;
void OnPropertyChanged([CallerMemberName] string propertyName = null)
=> PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
public IPersistanceManager Persistance { get; set; } public IPersistanceManager Persistance { get; set; }
public List<Admin> Admins { get; private set; } public List<Admin> Admins { get; private set; }
@ -36,6 +33,10 @@ namespace MangaMap.Model
OnPropertyChanged(); OnPropertyChanged();
} }
} }
public event PropertyChangedEventHandler? PropertyChanged;
void OnPropertyChanged([CallerMemberName] string propertyName = null)
=> PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
public Utilisateur UtilisateurActuel { get; set; } public Utilisateur UtilisateurActuel { get; set; }
public bool isAdmin { get; set; } public bool isAdmin { get; set; }

@ -11,10 +11,10 @@
<modeles:Manager/> <modeles:Manager/>
</ContentPage.BindingContext> </ContentPage.BindingContext>
<Grid RowDefinitions="40, *"> <Grid RowDefinitions="40, *" >
<local:NewContent1 HeightRequest="40" VerticalOptions="Start" Padding="10, 0"/> <local:NewContent1 HeightRequest="40" VerticalOptions="Start" Padding="10, 0"/>
<ScrollView <ScrollView
BackgroundColor="#1E1E1E" BackgroundColor="#1E1E1E"
Grid.Row="1"> Grid.Row="1">
<VerticalStackLayout <VerticalStackLayout
@ -38,13 +38,33 @@
Source="{Binding Affiche}" Source="{Binding Affiche}"
Clicked="AnimeImageClicked" Clicked="AnimeImageClicked"
/> />
--><!--<views:StyleBouton --><!-- <views:StyleBouton/>
</DataTemplate> </DataTemplate>
</BindableLayout.ItemTemplate> </BindableLayout.ItemTemplate>
</HorizontalStackLayout>--> </HorizontalStackLayout>-->
<ScrollView>
<CollectionView ItemsSource="{Binding Oeuvre}" VerticalScrollBarVisibility="Always" x:Name="searchResults">
<CollectionView.ItemTemplate>
<DataTemplate>
<ImageButton
Style="{StaticResource ImageAnime}"
BackgroundColor="Red"
Source="{Binding Affiche}"
Clicked="AnimeImageClicked"
/>
</DataTemplate>
</CollectionView.ItemTemplate>
<CollectionView.ItemsLayout>
<GridItemsLayout Span="4" Orientation="Vertical" VerticalItemSpacing="30" HorizontalItemSpacing="15"/>
</CollectionView.ItemsLayout>
</CollectionView>
</ScrollView>
<ScrollView > <!--<ScrollView >
<Grid x:Name="grille"> <Grid x:Name="grille">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition/> <RowDefinition/>
@ -61,7 +81,7 @@
<ColumnDefinition/> <ColumnDefinition/>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
</Grid> </Grid>
</ScrollView> </ScrollView>-->

@ -7,34 +7,32 @@ public partial class homePage : ContentPage
{ {
public Manager my_manager => (App.Current as App).MyManager; public Manager my_manager => (App.Current as App).MyManager;
private ObservableCollection<Oeuvre> filteredOeuvres = new ObservableCollection<Oeuvre>();
public homePage() public homePage()
{ {
InitializeComponent(); InitializeComponent();
BindingContext = my_manager; BindingContext = my_manager;
chargerSerie(); //chargerSerie();
} }
private async void AnimeImageClicked(object sender, EventArgs e) private async void AnimeImageClicked(object sender, EventArgs e)
{ {
//var selectedAnime = (sender as ImageButton)?.BindingContext as Oeuvre; var selectedAnime = (sender as ImageButton)?.BindingContext as Oeuvre;
//if (selectedAnime != null) if (selectedAnime != null)
//{ {
// // Naviguez vers la page de la fiche d'anime en passant l'objet sélectionné // Naviguez vers la page de la fiche d'anime en passant l'objet sélectionné
// await Navigation.PushAsync(new ficheAnime(selectedAnime)); await Navigation.PushAsync(new ficheAnime(selectedAnime));
//} }
var button = (ImageButton)sender; /*var button = (ImageButton)sender;
var idAutomation = button.AutomationId; var idAutomation = button.AutomationId;
if (int.TryParse(idAutomation, out int id)) if (int.TryParse(idAutomation, out int id))
{ {
await Navigation.PushAsync(new ficheAnime(my_manager.Oeuvres[id])); await Navigation.PushAsync(new ficheAnime(my_manager.Oeuvres[id]));
} }*/
} }
private void chargerSerie() /*private void chargerSerie()
{ {
int imagesParLigne = 4; int imagesParLigne = 4;
int indice = 0; int indice = 0;
@ -67,11 +65,12 @@ public partial class homePage : ContentPage
indice++; indice++;
} }
} }*/
private void OnTextChanged(object sender, TextChangedEventArgs e) private void OnTextChanged(object sender, TextChangedEventArgs e)
{ {
if(string.IsNullOrEmpty(e.NewTextValue))
if(string.IsNullOrWhiteSpace(e.NewTextValue))
{ {
searchResults.ItemsSource = my_manager.Oeuvres; searchResults.ItemsSource = my_manager.Oeuvres;
} }

Loading…
Cancel
Save