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 bindingTarget = new DataContextChangeSynchronizer.BindingTarget(Target, TargetProperty);
var mode = BindingMode == BindingMode.Default ? TargetProperty.DefaultBindingMode : BindingMode;
_changeSynchronizer = new DataContextChangeSynchronizer(bindingSource, bindingTarget, _typeConverterProvider);
if (BindingMode == BindingMode.TwoWay)
if (mode == BindingMode.TwoWay)
{
_changeSynchronizer.StartUpdatingTargetWhenSourceChanges();
_changeSynchronizer.StartUpdatingSourceWhenTargetChanges();
}
if (BindingMode == BindingMode.OneWay)
if (mode == BindingMode.OneWay || mode == BindingMode.Default)
{
_changeSynchronizer.StartUpdatingTargetWhenSourceChanges();
}
if (BindingMode == BindingMode.OneWayToSource)
if (mode == BindingMode.OneWayToSource)
{
_changeSynchronizer.StartUpdatingSourceWhenTargetChanges();
}

Loading…
Cancel
Save