Explicit "Mode=Twoway" is required for Toggleswitch Explicit "Mode=Twoway" is required for Toggleswitch wpf wpf

Explicit "Mode=Twoway" is required for Toggleswitch


The issue is that Microsoft changed a bunch of stuff when they created the "Windows 8" version of WPF. Lots of stuff changed, including the default mode for bindings:

The default is OneWay: the source updates the target, but changes to the target value do not update the source.

(MSDN)

Whereas in WPF:

One of the BindingMode values. The default is Default, which returns the default binding mode value of the target dependency property. However, the default value varies for each dependency property. In general, user-editable control properties, such as those of text boxes and check boxes, default to two-way bindings, whereas most other properties default to one-way bindings.

A programmatic way to determine whether a dependency property binds one-way or two-way by default is to get the property metadata of the property using GetMetadata and then check the Boolean value of the BindsTwoWayByDefault property.

(MSDN)


According to my experience, the ToggleSwitch and the CheckBox are both used to switch between two states. Of course, the ToggleSwitch is used in Windows Store and Windows Phone apps.Maybe, the ToggleSwich is more like a simple ToggleButton than a CheckBox... Another difference is that the CheckBox can be cleared but the ToggleSwitch is always in toggled or untoggled.

Anyway, I suggest to set the mode of the binding explicitly in every cases.