DataContext

De Banane Atomic
Aller à la navigationAller à la recherche
La version imprimable n’est plus prise en charge et peut comporter des erreurs de génération. Veuillez mettre à jour les signets de votre navigateur et utiliser à la place la fonction d’impression par défaut de celui-ci.

Dans le code behind de la vue

Csharp.svg
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        this.DataContext = new MainWindowVM();
    }

Dans la vue

Xaml.svg
<Window x:Class="WpfApplication1.MainWindow"
        xmlns:local="clr-namespace:WpfApplication">
    <Window.DataContext>
        <local:MainWindowVM />  <!-- appel le ctor par défaut de MainWindowVM -->
    </Window.DataContext>

Via une StaticResource

Xaml.svg
<Window x:Class="WpfApplication1.MainWindow"
        xmlns:local="clr-namespace:WpfApplication"
        DataContext="{Binding Source={StaticResource ResourceKey=MainVM}}">
    <Window.Resources>
        <local:MainWindowVM x:Key="MainWindowVM" />
    </Window.Resources>

Design

Définit quel sera le type du DataContext afin de faciliter le développement (auto-completion).

Xaml.svg
<Window xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:local="clr-namespace:WpfItemsControl"
        d:DataContext="{d:DesignInstance local:MainWindowVM}">