vendredi 7 avril 2023

WPF

WPF :


📚 Qu'est-ce que WPF ?

WPF signifie Windows Presentation Foundation.
C’est un framework Microsoft pour créer des applications desktop riches (applications Windows avec interface graphique).

Résumé rapide :
WPF sert à construire des applications Windows modernes, jolies, et puissantes, avec du design personnalisé.


🔥 Pourquoi utiliser WPF ?

  • Créer des interfaces graphiques très modernes (bien meilleures que WinForms)

  • Séparer facilement le code métier et l’interface utilisateur (pattern MVVM)

  • Personnaliser totalement les éléments graphiques (boutons, menus, animations)

  • Support des animations, 3D, vidéos, multimédia

  • Responsive (s’adapte aux tailles d’écran)

  • Binding des données ultra puissant

  • Styling et Thèmes (comme CSS pour le Web)


🛠️ Comment fonctionne WPF ?

En WPF, tu écris :

  • La partie visuelle avec du XAML (un langage de balisage XML)

  • La partie logique avec du C#

Le modèle est généralement basé sur MVVM :

Couches Description
Model Les données (ex : Utilisateur, Produit)
View L'interface visuelle (XAML)
ViewModel Le lien entre Model et View (logique, commandes)

🏗️ Exemple minimal d’une application WPF

1. Fenêtre principale (MainWindow.xaml)

<Window x:Class="MonAppWPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        Title="Mon App WPF" Height="300" Width="400">
    <Grid>
        <Button Content="Clique-moi !" Width="120" Height="40" HorizontalAlignment="Center" VerticalAlignment="Center" Click="Button_Click"/>
    </Grid>
</Window>

2. Code-behind (MainWindow.xaml.cs)

using System.Windows;

namespace MonAppWPF
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("Bonjour depuis WPF !");
        }
    }
}

📦 Arborescence typique d’un projet WPF

MonAppWPF/
├── App.xaml
├── App.xaml.cs
├── MainWindow.xaml
├── MainWindow.xaml.cs
├── bin/
├── obj/
├── MonAppWPF.csproj

🎯 Concepts importants en WPF

Concept Description
XAML Décrit visuellement l’interface (boutons, menus, grilles)
Data Binding Relier dynamiquement l’interface aux données
Commandes Relier actions utilisateurs (clics) à du code
Styles et Templates Modifier l’apparence facilement
Routed Events Gestion des événements avancée
Animation Créer des transitions visuelles
MVVM Séparer logique et présentation proprement

✨ Avantages de WPF

  • Interfaces très modernes et customisées.

  • Forte séparation de responsabilités grâce à MVVM.

  • Flexibilité totale sur le design.

  • Binding puissant (moins de code pour synchroniser données/affichage).


⚡ Petits exemples d'UI WPF qu'on peut créer

  • Formulaires de saisie d'information

  • Dashboards d'administration

  • Applications de gestion d’entreprise

  • Applications graphiques avec visualisations de données

  • Jeux simples en 2D

  • Visionneuses d'images/vidéos

  • Logiciels de caisse, CRM interne


📌 À noter

  • WPF fonctionne sur .NET Framework et maintenant .NET 6/7/8 via .NET Core (modernisé).

  • Pour des projets très modernes sur Windows, on peut aussi regarder MAUI (successeur de WPF pour mobile + desktop).


🧠 Résumé Express

Résumé
WPF signifie Windows Presentation Foundation
Utilisé pour Applications Desktop Windows
Basé sur XAML + C#
Modèle recommandé MVVM (Model-View-ViewModel)
Atouts UI modernes, data binding, animations, responsive
Remplaçants modernes MAUI pour multi-plateforme (Mobile + Desktop)


Aucun commentaire:

Enregistrer un commentaire

WPF Lượt xem: