Bonjour,
Pourriez-vous m'aider à réaliser un data binding sur une checkbox ? Voici mon problème :
J'ai une classe myClass qui contient un booléen myBool. Elle implémente l'interface INotifyPropertyChanged et tout ce qu'il faut.
Dans ma fenêtre, je déclare en resource une instance de cette classe et la propriété IsChecked de la checkbox est dépendante de myBool.
Tout cela fonctionne et voici le code de la classe myClass:
et du XAML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 public class myClass : INotifyPropertyChanged { public myClass() { } private bool myPrivBool; public bool myBool { get { return myPrivBool; } set { myPrivBool = value; OnPropertyChanged("myBool"); } } public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged(string name) { PropertyChangedEventHandler handler = PropertyChanged; if (handler != null) { handler(this, new PropertyChangedEventArgs(name)); } } }
Le problème c'est que cette fenêtre est une boîte de dialogue et que je veux utiliser les données d'une instance myClass déjà existante, et non pas instancier une autre classe myClass dans les resources de cette boîte de dialogue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:src="clr-namespace:SDKSample" Title="Simple Data Binding Sample"> <Window.Resources> <src:myClass x:Key="myDataSource" myBool="True"/> </Window.Resources> <StackPanel > <CheckBox IsChecked="{Binding Source={StaticResource myDataSource}, Path=myBool, Mode=TwoWay}" Content="CheckBox"/> </StackPanel> </Window>
Comment faut-il faire ????
Je vous remercie d'avance.
Partager