Bonjour à tous !

Voilà, j'ai un petit souci en Xaml. Dans ma classe partielle, j'instancie un objet player, qui possède une variable d'instance Volume de type int. Je veux binder mon volume à un slider de mon GUI.

Voilà le code permettant de faire ceci dans ma classe partielle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
//binding volume
Binding volumeBinding = new Binding("Volume");
volumeBinding.Source = this.player;
this.XVolume.SetBinding(Slider.ValueProperty, volumeBinding);
Mon slider étant défini par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<Slider x:Name="XVolume"/>
Le problème, c'est que je trouve crade de faire le binding dans la partie c# alors qu'on peut le faire en Xaml. J'ai tenté un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<Slider x:Name="XVolume" Value="{binding Source=player, Path=Volume}"/>
mais rien à faire.

J'ai par contre réussi à binder de la manière suivante :
c# :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
//binding volume
this.XVolume.DataContext = this.player;
Xaml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<Slider x:Name="XVolume" Value="{Binding Path=Volume}"/>
Cela ne résout mon problème qu'à moitié, étant donné qu'on a encore du code c# pour faire le binding. Y a t'il une solution avec Xaml uniquement ?