Pendasi.Maui
0.4.0
dotnet add package Pendasi.Maui --version 0.4.0
NuGet\Install-Package Pendasi.Maui -Version 0.4.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Pendasi.Maui" Version="0.4.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Pendasi.Maui" Version="0.4.0" />
<PackageReference Include="Pendasi.Maui" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Pendasi.Maui --version 0.4.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Pendasi.Maui, 0.4.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Pendasi.Maui@0.4.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Pendasi.Maui&version=0.4.0
#tool nuget:?package=Pendasi.Maui&version=0.4.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Pendasi.Maui
Bibliothèque de composants .NET MAUI en français : Modal, PageDeBas (bottom sheet), Toast, Alertes, CarrouselAuto, Chargement (overlay), Chargement avec progression, ChargementScintillant (squelettes).
Installation
- Via NuGet (recommandé) :
dotnet add package Pendasi.Maui
- Ou en référence de projet : ajoute
Pendasi.Maui.csproj
à ta solution et référence-le.
Dans XAML :
xmlns:pendasi="clr-namespace:Pendasi.Maui;assembly=Pendasi.Maui"
📘 README.md
Pendasi.Maui
📦 Pendasi.Maui est une bibliothèque de composants modernes pour .NET MAUI en C# pur, conçue pour simplifier le développement avec des contrôles prêts à l’emploi, adaptatifs et personnalisables.
Languages:
🇫🇷 Français
🇺🇸 English
Français
🚀 Installation
Ajoutez la dernière version du package NuGet dans votre projet :
dotnet add package Pendasi.Maui
Importez ensuite l’espace de noms :
using Pendasi.Maui;
📂 Composants inclus
Alerte → boîte de dialogue personnalisée
BadgeStatut → badge d’état (succès, erreur, info…)
CarrouselAuto → carrousel automatique
ChargementScintillant → skeleton shimmer (Facebook/YouTube)
ChargementView → overlay de chargement global
Modal → fenêtre modale personnalisée
PageDeBas → bottom sheet coulissant
Toast (MessageTemporaire) → notification éphémère
VoletDeCote → flyout/drawer latéral
🔔 Alerte
Fonctionnalités :
1, 2 ou 3 boutons (OK, Annuler, Plus tard)
Types : Information, Succès, Attention, Erreur
Thème sombre/clair
Exemple simple :
await Alerte.AfficherAsync("Enregistrement réussi !");
Exemple confirmation :
if (await Alerte.ConfirmerAsync("Voulez-vous continuer ?"))
Console.WriteLine("OK");
🏷️ BadgeStatut
Fonctionnalités :
Variantes : Solide, Contour, Fantôme
Emoji/pictogramme optionnel
Couleur personnalisable
Exemple XAML :
<pendasi:BadgeStatut Texte="Succès" Couleur="Green" Variante="Solide" Emoji="✅"/>
<pendasi:BadgeStatut Texte="Erreur" Couleur="Red" Variante="Contour" Emoji="❌"/>
🎠 CarrouselAuto
Fonctionnalités :
Défilement automatique
Support de tout contenu (images, vues…)
Exemple :
<pendasi:CarrouselAuto IntervalleMs="3000" Hauteur="200">
<Image Source="img1.png"/>
<Image Source="img2.png"/>
<Image Source="img3.png"/>
</pendasi:CarrouselAuto>
✨ ChargementScintillant
Fonctionnalités :
Effet shimmer animé
Mode bloc ou conteneur
Paramètres : couleur, vitesse, angle, rayon des coins
Exemple simple :
<pendasi:ChargementScintillant WidthRequest="200" HeightRequest="20" RayonCoins="6"/>
Exemple conteneur :
var conteneur = ChargementScintillant.CreerConteneur(
new Label { Text = "Contenu réel" },
type: TypeMiseEnPage.ImageTexte
);
⏳ ChargementView
Fonctionnalités :
Overlay plein écran
Message optionnel
Exemple :
await ChargementView.AfficherAsync("Chargement en cours…");
await ChargementView.FermerAsync();
🪟 Modal
Exemple :
await Modal.AfficherAsync(new Label { Text="Paramètres avancés" });
await Modal.FermerAsync();
📄 PageDeBas
Fonctionnalités :
Bottom sheet draggable
Fermeture par swipe ou overlay
Thème clair/sombre
Exemple :
await PageDeBas.AfficherAsync(
new Label { Text="Options" },
fermerAuTaperFond: true,
glisserPourFermer: true,
hauteurMaxEcran: 0.8
);
🍞 Toast (MessageTemporaire)
Exemple :
await MessageTemporaire.AfficherAsync("Sauvegarde réussie !");
await MessageTemporaire.AfficherAsync("Erreur réseau", position: PositionMessage.Haut, couleurFond: Colors.Red);
📑 VoletDeCote
Exemple :
await VoletDeCote.AfficherAsync(
new Label { Text="Menu latéral" },
cote: CoteGaucheOuDroit.Gauche
);
🌍 Thème adaptatif
Tous les composants respectent automatiquement le thème clair/sombre via AppThemeBinding.
💡 Bonnes pratiques
Initialisez vos services (PageDeBasService.Init()) dans MainPage.
Utilisez MVVM pour déclencher l’ouverture/fermeture des composants.
Créez vos DataTemplates pour réutiliser vos vues.
English
🚀 Installation
Add the latest NuGet package to your project:
dotnet add package Pendasi.Maui
Then import:
using Pendasi.Maui;
📂 Included Components
Alert → custom dialogs
StatusBadge → state badges
AutoCarousel → automatic carousel
ShimmerLoading → skeleton loader
LoadingView → global overlay with spinner
Modal → custom modal
BottomSheet → draggable sheet
Toast → ephemeral notification
SideDrawer → flyout/drawer
🔔 Alert
await Alert.ShowAsync("Saved successfully!");
if (await Alert.ConfirmAsync("Do you want to continue?"))
Console.WriteLine("Confirmed");
var choice = await Alert.ChooseAsync("Pick an option");
🏷️ StatusBadge
<pendasi:StatusBadge Text="Success" Color="Green" Variant="Solid" Emoji="✅"/>
<pendasi:StatusBadge Text="Error" Color="Red" Variant="Outline" Emoji="❌"/>
🎠 AutoCarousel
<pendasi:AutoCarousel IntervalMs="3000" Height="200">
<Image Source="img1.png"/>
<Image Source="img2.png"/>
<Image Source="img3.png"/>
</pendasi:AutoCarousel>
✨ ShimmerLoading
<pendasi:ShimmerLoading WidthRequest="200" HeightRequest="20" CornerRadius="6"/>
Or container:
var container = ShimmerLoading.CreateContainer(new Label { Text = "Real content" }, type: LayoutType.ImageText);
⏳ LoadingView
await LoadingView.ShowAsync("Loading…");
await LoadingView.HideAsync();
🪟 Modal
await Modal.ShowAsync(new Label { Text="Advanced settings" });
await Modal.HideAsync();
📄 BottomSheet
await BottomSheet.ShowAsync(new Label { Text="Options" }, dismissOnTapOutside: true, swipeToClose: true);
🍞 Toast
await Toast.ShowAsync("Saved!");
await Toast.ShowAsync("Network error", position: MessagePosition.Top, backgroundColor: Colors.Red);
📑 SideDrawer
await SideDrawer.ShowAsync(new Label { Text="Menu" }, side: DrawerSide.Left);
🎓 License
MIT © Pendasi
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0-android34.0 is compatible. net8.0-ios18.0 is compatible. net8.0-maccatalyst18.0 is compatible. net8.0-windows10.0.19041 is compatible. net9.0-android was computed. net9.0-android35.0 is compatible. net9.0-ios was computed. net9.0-ios18.0 is compatible. net9.0-maccatalyst was computed. net9.0-maccatalyst18.0 is compatible. net9.0-windows was computed. net9.0-windows10.0.19041 is compatible. net10.0-android was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0-android34.0
- No dependencies.
-
net8.0-ios18.0
- No dependencies.
-
net8.0-maccatalyst18.0
- No dependencies.
-
net8.0-windows10.0.19041
- No dependencies.
-
net9.0-android35.0
- No dependencies.
-
net9.0-ios18.0
- No dependencies.
-
net9.0-maccatalyst18.0
- No dependencies.
-
net9.0-windows10.0.19041
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.