Definire un datacontext a design time in WPF

Scritto da  Massimo Bonanni il domenica 2 ottobre 2011  •  Linguaggio:    • Livello: 100


In fase di design di un interfaccia WPF potrebbe essere utile definire un datacontex da utilizzare esclusivamente per il design stesso che, in fase di esecuzione, venga sostituito dall'effettivo datacontext della nostra applicazione.
Per fare questo è sufficiente utilizzare le proprietà dei controli che sono contenute nel namespace http://schemas.microsoft.com/expression/blend/2008 ed in particolare la DataContext:

<Window x:Class="Form1"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:my="mio namespace"
             mc:Ignorable="d"
             d:DesignHeight="150" d:DesignWidth="300" d:DataContext="{d:DesignInstance my:ClasseDataContext}">
    <Grid>
    </Grid>
</Window>

 

Nel caso precedente abbiamo definito in datacontext di design (d:DataContext) impostando un'istanza della nostra classe ClasseDataContext contenuta nel nostro namespace (d:DesignInstance my:ClasseDataContext)
In questo modo, in fase di design, abbiamo visibilità delle proprietà esposte dal datacontext e possiamo utilizzare l'interfaccia di Visual Studio per impostare il binding sui controlli dell'interfaccia.


Tags: WPF,presentation framework,windows presentation,windows presentation framework

 
x