---
title: 'Créer une application WPF avec Visual Studio'
description: "Introduction au WPF avec .NET et Visual Studio : XAML pour les interfaces vectorielles, séparation affichage/logique et création d'une première fenêtre Windows."
pubDate: 2020-12-27
family: 'dotnet-csharp'
tags: []
heroImage: /images/creer-une-application-wpf-avec-visual-studio.webp
videoUrl: 'https://www.youtube.com/watch?v=xpqYDmmgtIE'
---

WPF (Windows Presentation Foundation) est le framework .NET pour créer des applications de bureau Windows avec des interfaces graphiques vectorielles et modernes. Ce tutoriel montre comment démarrer avec WPF dans Visual Studio.

## Qu'est-ce que WPF ?

WPF est une spécification graphique introduite avec .NET 3.0. Ses caractéristiques principales :

- **Rendu vectoriel** : textes et images s'adaptent à toutes les résolutions sans pixellisation
- **XAML** : langage XML pour décrire les interfaces utilisateur (proche du HTML pour les développeurs web)
- **Séparation affichage/logique** : le code-behind C# est séparé du fichier XAML
- **Data Binding** : liaison entre les propriétés de l'interface et les données de l'application

## Créer un projet WPF dans Visual Studio

Dans Visual Studio 2019 :

1. Cliquer sur **Créer un projet**
2. Filtrer par **Bureau Windows**
3. Sélectionner **Application WPF (.NET Framework)**
4. Nommer le projet et valider

## Comprendre la structure d'un projet WPF

À la création, deux fichiers principaux apparaissent :

- `MainWindow.xaml` : le code XAML décrivant l'interface
- `MainWindow.xaml.cs` : le code-behind C# contenant la logique

Le fichier XAML contient une balise `<Window>` racine avec une `<Grid>` comme conteneur principal. Les propriétés de la fenêtre (titre, dimensions) se modifient directement dans le XAML ou via le panneau de propriétés.

## Premier contrôle : un bouton

```xml
<Button Content="Cliquer ici"
        Width="120" Height="40"
        Click="OnButtonClick" />
```

Dans le code-behind :

```csharp
private void OnButtonClick(object sender, RoutedEventArgs e)
{
    MessageBox.Show("Bonjour WPF !");
}
```

## Pour aller plus loin

WPF supporte le pattern MVVM (Model-View-ViewModel) pour des architectures propres. Retrouvez la démonstration sur [YouTube](https://www.youtube.com/watch?v=xpqYDmmgtIE).
