From f0f22f06ad2b9df3f244f5f08ae8211c07f0752a Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Fri, 2 Oct 2015 02:16:15 +0200 Subject: [PATCH] Select correct binding mode. --- src/Markup/Perspex.Markup.Xaml/DataBinding/XamlBinding.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Markup/Perspex.Markup.Xaml/DataBinding/XamlBinding.cs b/src/Markup/Perspex.Markup.Xaml/DataBinding/XamlBinding.cs index af0d33de6a..837413a26f 100644 --- a/src/Markup/Perspex.Markup.Xaml/DataBinding/XamlBinding.cs +++ b/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(); }