Explorar o código

Rename TemplatedParent priority to Template.

It no longer represents just `TemplatedParent` bindings, but every value or binding created by a template.
Steven Kirk %!s(int64=2) %!d(string=hai) anos
pai
achega
1945345cd1

+ 1 - 1
src/Avalonia.Base/AvaloniaProperty.cs

@@ -177,7 +177,7 @@ namespace Avalonia
         {
             return new IndexerDescriptor
             {
-                Priority = BindingPriority.TemplatedParent,
+                Priority = BindingPriority.Template,
                 Property = property,
             };
         }

+ 13 - 9
src/Avalonia.Base/Data/BindingPriority.cs

@@ -1,7 +1,9 @@
+using System;
+
 namespace Avalonia.Data
 {
     /// <summary>
-    /// The priority of a binding.
+    /// The priority of a value or binding.
     /// </summary>
     public enum BindingPriority
     {
@@ -16,23 +18,22 @@ namespace Avalonia.Data
         LocalValue = 0,
 
         /// <summary>
-        /// A triggered style binding.
+        /// A triggered style value.
         /// </summary>
         /// <remarks>
         /// A style trigger is a selector such as .class which overrides a
-        /// <see cref="TemplatedParent"/> binding. In this way, a basic control can have
-        /// for example a Background from the templated parent which changes when the
-        /// control has the :pointerover class.
+        /// <see cref="Template"/> value. In this way, a control can have, e.g. a Background from
+        /// the template which changes when the control has the :pointerover class.
         /// </remarks>
         StyleTrigger,
 
         /// <summary>
-        /// A binding to a property on the templated parent.
+        /// A value from the control's template.
         /// </summary>
-        TemplatedParent,
+        Template,
 
         /// <summary>
-        /// A style binding.
+        /// A style value.
         /// </summary>
         Style,
         
@@ -42,8 +43,11 @@ namespace Avalonia.Data
         Inherited,
 
         /// <summary>
-        /// The binding is uninitialized.
+        /// The value is uninitialized.
         /// </summary>
         Unset = int.MaxValue,
+
+        [Obsolete("Use Template priority")]
+        TemplatedParent = Template,
     }
 }

+ 1 - 1
src/Avalonia.Controls/Generators/ItemContainerGenerator.cs

@@ -205,7 +205,7 @@ namespace Avalonia.Controls.Generators
                 result.SetValue(
                     StyledElement.ThemeProperty,
                     ItemContainerTheme,
-                    BindingPriority.TemplatedParent);
+                    BindingPriority.Template);
             }
 
             return result;

+ 1 - 1
src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlControlTemplatePriorityTransformer.cs

@@ -42,7 +42,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.Transformers
                 if (priorityValueSetters.Count > 0)
                 {
                     prop.PossibleSetters = priorityValueSetters;
-                    prop.Values.Insert(0, new XamlConstantNode(node, bindingPriorityType, (int)BindingPriority.TemplatedParent));
+                    prop.Values.Insert(0, new XamlConstantNode(node, bindingPriorityType, (int)BindingPriority.Template));
                 }
             }
 

+ 1 - 1
src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/DynamicResourceExtension.cs

@@ -27,7 +27,7 @@ namespace Avalonia.Markup.Xaml.MarkupExtensions
         public IBinding ProvideValue(IServiceProvider serviceProvider)
         {
             if (serviceProvider.IsInControlTemplate())
-                _priority = BindingPriority.TemplatedParent;
+                _priority = BindingPriority.Template;
 
             var provideTarget = serviceProvider.GetService<IProvideValueTarget>();
 

+ 1 - 1
src/Markup/Avalonia.Markup/Data/TemplateBinding.cs

@@ -51,7 +51,7 @@ namespace Avalonia.Data
                 return new InstancedBinding(
                     this,
                     Mode == BindingMode.Default ? BindingMode.OneWay : Mode,
-                    BindingPriority.TemplatedParent);
+                    BindingPriority.Template);
             }
             else
             {

+ 1 - 1
tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_SetValue.cs

@@ -251,7 +251,7 @@ namespace Avalonia.Base.UnitTests
         {
             Class1 target = new Class1();
 
-            target.SetValue(Class1.FooProperty, "one", BindingPriority.TemplatedParent);
+            target.SetValue(Class1.FooProperty, "one", BindingPriority.Template);
             Assert.Equal("one", target.GetValue(Class1.FooProperty));
             target.SetValue(Class1.FooProperty, "two", BindingPriority.Style);
             Assert.Equal("one", target.GetValue(Class1.FooProperty));

+ 1 - 1
tests/Avalonia.Benchmarks/Base/StyledPropertyBenchmark.cs

@@ -43,7 +43,7 @@ namespace Avalonia.Benchmarks.Base
 
             for (var i = 0; i < 100; ++i)
             {
-                obj.SetValue(StyledClass.IntValueProperty, obj.IntValue + 1, BindingPriority.TemplatedParent);
+                obj.SetValue(StyledClass.IntValueProperty, obj.IntValue + 1, BindingPriority.Template);
             }
         }
 

+ 2 - 2
tests/Avalonia.Controls.UnitTests/ContentControlTests.cs

@@ -292,13 +292,13 @@ namespace Avalonia.Controls.UnitTests
             // as they are in Avalonia.Markup.Xaml.
             DelayedBinding.Add(presenter, ContentPresenter.ContentProperty, new Binding("Content")
             {
-                Priority = BindingPriority.TemplatedParent,
+                Priority = BindingPriority.Template,
                 RelativeSource = new RelativeSource(RelativeSourceMode.TemplatedParent),
             });
 
             DelayedBinding.Add(presenter, ContentPresenter.ContentTemplateProperty, new Binding("ContentTemplate")
             {
-                Priority = BindingPriority.TemplatedParent,
+                Priority = BindingPriority.Template,
                 RelativeSource = new RelativeSource(RelativeSourceMode.TemplatedParent),
             });
 

+ 2 - 2
tests/Avalonia.Controls.UnitTests/MaskedTextBoxTests.cs

@@ -895,14 +895,14 @@ namespace Avalonia.Controls.UnitTests
                     {
                         Path = nameof(TextPresenter.Text),
                         Mode = BindingMode.TwoWay,
-                        Priority = BindingPriority.TemplatedParent,
+                        Priority = BindingPriority.Template,
                         RelativeSource = new RelativeSource(RelativeSourceMode.TemplatedParent),
                     },
                     [!!TextPresenter.CaretIndexProperty] = new Binding
                     {
                         Path = nameof(TextPresenter.CaretIndex),
                         Mode = BindingMode.TwoWay,
-                        Priority = BindingPriority.TemplatedParent,
+                        Priority = BindingPriority.Template,
                         RelativeSource = new RelativeSource(RelativeSourceMode.TemplatedParent),
                     }
                 }.RegisterInNameScope(scope));

+ 2 - 2
tests/Avalonia.Controls.UnitTests/TextBoxTests.cs

@@ -891,14 +891,14 @@ namespace Avalonia.Controls.UnitTests
                     {
                         Path = nameof(TextPresenter.Text),
                         Mode = BindingMode.TwoWay,
-                        Priority = BindingPriority.TemplatedParent,
+                        Priority = BindingPriority.Template,
                         RelativeSource = new RelativeSource(RelativeSourceMode.TemplatedParent),
                     },
                     [!!TextPresenter.CaretIndexProperty] = new Binding
                     {
                         Path = nameof(TextPresenter.CaretIndex),
                         Mode = BindingMode.TwoWay,
-                        Priority = BindingPriority.TemplatedParent,
+                        Priority = BindingPriority.Template,
                         RelativeSource = new RelativeSource(RelativeSourceMode.TemplatedParent),
                     }
                 }.RegisterInNameScope(scope));

+ 1 - 1
tests/Avalonia.Controls.UnitTests/TextBoxTests_DataValidation.cs

@@ -100,7 +100,7 @@ namespace Avalonia.Controls.UnitTests
                     {
                         Path = "Text",
                         Mode = BindingMode.TwoWay,
-                        Priority = BindingPriority.TemplatedParent,
+                        Priority = BindingPriority.Template,
                         RelativeSource = new RelativeSource(RelativeSourceMode.TemplatedParent),
                     },
                 }.RegisterInNameScope(scope));

+ 1 - 1
tests/Avalonia.Markup.UnitTests/Data/BindingTests_DataValidation.cs

@@ -54,7 +54,7 @@ namespace Avalonia.Markup.UnitTests.Data
                 DataContext = new Class1(),
             };
 
-            var target = new Binding(nameof(Class1.Foo)) { Priority = BindingPriority.TemplatedParent };
+            var target = new Binding(nameof(Class1.Foo)) { Priority = BindingPriority.Template };
             var instanced = target.Initiate(textBlock, TextBlock.TextProperty, enableDataValidation: true);
             var subject = (BindingExpression)instanced.Subject;
             object result = null;

+ 6 - 6
tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs

@@ -77,7 +77,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
                 Assert.Equal(Brushes.Red, presenter.Background);
 
                 var diagnostic = presenter.GetDiagnostic(Button.BackgroundProperty);
-                Assert.Equal(BindingPriority.TemplatedParent, diagnostic.Priority);
+                Assert.Equal(BindingPriority.Template, diagnostic.Priority);
             }
         }
 
@@ -111,7 +111,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
                 Assert.Equal(Brushes.Red, presenter.Background);
 
                 var diagnostic = presenter.GetDiagnostic(Button.BackgroundProperty);
-                Assert.Equal(BindingPriority.TemplatedParent, diagnostic.Priority);
+                Assert.Equal(BindingPriority.Template, diagnostic.Priority);
             }
         }
 
@@ -142,7 +142,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
                 Assert.Equal(Dock.Top, DockPanel.GetDock(presenter));
 
                 var diagnostic = presenter.GetDiagnostic(DockPanel.DockProperty);
-                Assert.Equal(BindingPriority.TemplatedParent, diagnostic.Priority);
+                Assert.Equal(BindingPriority.Template, diagnostic.Priority);
             }
         }
 
@@ -176,7 +176,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
                 Assert.Equal(Brushes.Red, presenter.Background);
 
                 var diagnostic = presenter.GetDiagnostic(Button.BackgroundProperty);
-                Assert.Equal(BindingPriority.TemplatedParent, diagnostic.Priority);
+                Assert.Equal(BindingPriority.Template, diagnostic.Priority);
             }
         }
 
@@ -210,7 +210,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
                 Assert.Equal(Brushes.Red, presenter.Background);
 
                 var diagnostic = presenter.GetDiagnostic(Button.BackgroundProperty);
-                Assert.Equal(BindingPriority.TemplatedParent, diagnostic.Priority);
+                Assert.Equal(BindingPriority.Template, diagnostic.Priority);
             }
         }
 
@@ -241,7 +241,7 @@ namespace Avalonia.Markup.Xaml.UnitTests.Xaml
                 Assert.Equal("Foo", presenter.Content);
 
                 var diagnostic = presenter.GetDiagnostic(ContentPresenter.ContentProperty);
-                Assert.Equal(BindingPriority.TemplatedParent, diagnostic.Priority);
+                Assert.Equal(BindingPriority.Template, diagnostic.Priority);
             }
         }