Browse Source

Don't delay bind to DataContext.

DataContext bindings are special in that they return null instead of
UnsetValue when broken, and it's important that they do that when things
are being set up.
Steven Kirk 9 years ago
parent
commit
e252a35509
1 changed files with 8 additions and 1 deletions
  1. 8 1
      src/Markup/Avalonia.Markup.Xaml/Context/PropertyAccessor.cs

+ 8 - 1
src/Markup/Avalonia.Markup.Xaml/Context/PropertyAccessor.cs

@@ -136,7 +136,14 @@ namespace Avalonia.Markup.Xaml.Context
 
             if (control != null)
             {
-                DelayedBinding.Add(control, property, binding);
+                if (property != Control.DataContextProperty)
+                {
+                    DelayedBinding.Add(control, property, binding);
+                }
+                else
+                {
+                    control.Bind(property, binding);
+                }
             }
             else
             {