Browse Source

Select correct binding mode.

pull/237/head
Steven Kirk 11 years ago
parent
commit
f0f22f06ad
  1. 7
      src/Markup/Perspex.Markup.Xaml/DataBinding/XamlBinding.cs

7
src/Markup/Perspex.Markup.Xaml/DataBinding/XamlBinding.cs

@ -37,21 +37,22 @@ namespace Perspex.Markup.Xaml.DataBinding
{ {
var bindingSource = new DataContextChangeSynchronizer.BindingSource(SourcePropertyPath, dataContext); var bindingSource = new DataContextChangeSynchronizer.BindingSource(SourcePropertyPath, dataContext);
var bindingTarget = new DataContextChangeSynchronizer.BindingTarget(Target, TargetProperty); var bindingTarget = new DataContextChangeSynchronizer.BindingTarget(Target, TargetProperty);
var mode = BindingMode == BindingMode.Default ? TargetProperty.DefaultBindingMode : BindingMode;
_changeSynchronizer = new DataContextChangeSynchronizer(bindingSource, bindingTarget, _typeConverterProvider); _changeSynchronizer = new DataContextChangeSynchronizer(bindingSource, bindingTarget, _typeConverterProvider);
if (BindingMode == BindingMode.TwoWay) if (mode == BindingMode.TwoWay)
{ {
_changeSynchronizer.StartUpdatingTargetWhenSourceChanges(); _changeSynchronizer.StartUpdatingTargetWhenSourceChanges();
_changeSynchronizer.StartUpdatingSourceWhenTargetChanges(); _changeSynchronizer.StartUpdatingSourceWhenTargetChanges();
} }
if (BindingMode == BindingMode.OneWay) if (mode == BindingMode.OneWay || mode == BindingMode.Default)
{ {
_changeSynchronizer.StartUpdatingTargetWhenSourceChanges(); _changeSynchronizer.StartUpdatingTargetWhenSourceChanges();
} }
if (BindingMode == BindingMode.OneWayToSource) if (mode == BindingMode.OneWayToSource)
{ {
_changeSynchronizer.StartUpdatingSourceWhenTargetChanges(); _changeSynchronizer.StartUpdatingSourceWhenTargetChanges();
} }

Loading…
Cancel
Save