Comment puis-je définir le DataContext de ma grille dans XAML, au lieu de le faire dans le constructeur ?
Voici comment je procède dans le constructeur (LayoutRoot est la grille XAML définie dans le XAML) :
this.LayoutRoot.DataContext = this.HPVM;
Je préférerais le faire directement dans le XAML, mais je ne sais pas comment référencer l'objet HPVM dans le XAML. HPVM est une propriété publique de la classe USerControl.
Cela fonctionne bien comme indiqué ci-dessus, mais une fois encore, je veux juste savoir comment utiliser les propriétés de la classe UserControl dans XAML, plutôt que de devoir toujours le faire dans le code.
Voici tout le code pertinent :
<UserControl x:Class="SilverlightApplication1.SLHolePattern" x:Name="HolePatternsControl"
xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:controls="clr-namespace:Microsoft.Windows.Controls;assembly=Microsoft.Windows.Controls"
xmlns:local="clr-namespace:SilverlightApplication1"
xmlns:GeoPatterns="clr-namespace:GeoPatterns"
Height="700">
<UserControl.Resources>
...
Et voici mon constructeur où le DataContext est actuellement défini :
namespace SilverlightApplication1
{
public partial class SLHolePattern : UserControl, INotifyPropertyChanged
{
public HolePatternsViewModel HPVM;
public SLHolePattern()
{
InitializeComponent();
this.HPVM=new HolePatternsViewModel();
this.LayoutRoot.DataContext = this.HPVM;
...more code here
}
Tout fonctionne bien, mais je veux juste apprendre comment définir le DataContext dans le XAML, et non dans le code.