I have check box in my XAML+C# Windows Store application. Also I have bool property: WindowsStoreTestApp.SessionData.RememberUser which is public and static.
I want check box’s property IsChecked to be consistent (or binded, or mapped) to this bool property.
I tried this:
XAML
<CheckBox x:Name="chbRemember1" IsChecked="{Binding Mode=TwoWay}"/>
C#
chbRemember1.DataContext = SessionData.RememberUser;
Code for property:
namespace WindowsStoreTestApp
{
public class SessionData
{
public static bool RememberUser { get; set; }
}
}
But it doesn’t seem to work. Can you help me?
You need to implement some form of change notification in order for your check box to be “aware” of any changes to the property. The best bet is to use one of the many MVVM frameworks out there, if not, implement
INotifyPropertyChangedin your ViewModel.Also, typically in WPF, we do not set the DataContext of individual controls but set the DataContext of the Window or User Control to a ViewModel…
Here is an example of a property with change notification through one of the MVVM frameworks:
As you can see a simple auto-implemented property cannot be used for data binding in WPF…
I’d recommend going through Data Binding Overview over on MSDN…