diff --git a/src/Avalonia.Base/AvaloniaProperty.cs b/src/Avalonia.Base/AvaloniaProperty.cs
index 59a61e3424..f2e90bb6d7 100644
--- a/src/Avalonia.Base/AvaloniaProperty.cs
+++ b/src/Avalonia.Base/AvaloniaProperty.cs
@@ -177,7 +177,7 @@ namespace Avalonia
{
return new IndexerDescriptor
{
- Priority = BindingPriority.TemplatedParent,
+ Priority = BindingPriority.Template,
Property = property,
};
}
diff --git a/src/Avalonia.Base/Data/BindingPriority.cs b/src/Avalonia.Base/Data/BindingPriority.cs
index dd1654f53c..5fd5aae43b 100644
--- a/src/Avalonia.Base/Data/BindingPriority.cs
+++ b/src/Avalonia.Base/Data/BindingPriority.cs
@@ -1,7 +1,9 @@
+using System;
+
namespace Avalonia.Data
{
///
- /// The priority of a binding.
+ /// The priority of a value or binding.
///
public enum BindingPriority
{
@@ -16,23 +18,22 @@ namespace Avalonia.Data
LocalValue = 0,
///
- /// A triggered style binding.
+ /// A triggered style value.
///
///
/// A style trigger is a selector such as .class which overrides a
- /// 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.
+ /// value. In this way, a control can have, e.g. a Background from
+ /// the template which changes when the control has the :pointerover class.
///
StyleTrigger,
///
- /// A binding to a property on the templated parent.
+ /// A value from the control's template.
///
- TemplatedParent,
+ Template,
///
- /// A style binding.
+ /// A style value.
///
Style,
@@ -42,8 +43,11 @@ namespace Avalonia.Data
Inherited,
///
- /// The binding is uninitialized.
+ /// The value is uninitialized.
///
Unset = int.MaxValue,
+
+ [Obsolete("Use Template priority")]
+ TemplatedParent = Template,
}
}
diff --git a/src/Avalonia.Controls/Generators/ItemContainerGenerator.cs b/src/Avalonia.Controls/Generators/ItemContainerGenerator.cs
index 8b36b07cec..7fed6cb82c 100644
--- a/src/Avalonia.Controls/Generators/ItemContainerGenerator.cs
+++ b/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;
diff --git a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlControlTemplatePriorityTransformer.cs b/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlControlTemplatePriorityTransformer.cs
index 6cab68e756..76fd07f15c 100644
--- a/src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlControlTemplatePriorityTransformer.cs
+++ b/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));
}
}
diff --git a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/DynamicResourceExtension.cs b/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/DynamicResourceExtension.cs
index f13ecab4e1..56b653ca47 100644
--- a/src/Markup/Avalonia.Markup.Xaml/MarkupExtensions/DynamicResourceExtension.cs
+++ b/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();
diff --git a/src/Markup/Avalonia.Markup/Data/TemplateBinding.cs b/src/Markup/Avalonia.Markup/Data/TemplateBinding.cs
index 4a3538fff2..0d8925c6fa 100644
--- a/src/Markup/Avalonia.Markup/Data/TemplateBinding.cs
+++ b/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
{
diff --git a/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_SetValue.cs b/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_SetValue.cs
index 72162a4d8e..f878977cf2 100644
--- a/tests/Avalonia.Base.UnitTests/AvaloniaObjectTests_SetValue.cs
+++ b/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));
diff --git a/tests/Avalonia.Benchmarks/Base/StyledPropertyBenchmark.cs b/tests/Avalonia.Benchmarks/Base/StyledPropertyBenchmark.cs
index b70ae19275..29bacc17bd 100644
--- a/tests/Avalonia.Benchmarks/Base/StyledPropertyBenchmark.cs
+++ b/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);
}
}
diff --git a/tests/Avalonia.Controls.UnitTests/ContentControlTests.cs b/tests/Avalonia.Controls.UnitTests/ContentControlTests.cs
index 1e37093736..c1b7e8e6e5 100644
--- a/tests/Avalonia.Controls.UnitTests/ContentControlTests.cs
+++ b/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),
});
diff --git a/tests/Avalonia.Controls.UnitTests/MaskedTextBoxTests.cs b/tests/Avalonia.Controls.UnitTests/MaskedTextBoxTests.cs
index d1fa522206..89c31a28c6 100644
--- a/tests/Avalonia.Controls.UnitTests/MaskedTextBoxTests.cs
+++ b/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));
diff --git a/tests/Avalonia.Controls.UnitTests/TextBoxTests.cs b/tests/Avalonia.Controls.UnitTests/TextBoxTests.cs
index 23a330c96f..4680f38d94 100644
--- a/tests/Avalonia.Controls.UnitTests/TextBoxTests.cs
+++ b/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));
diff --git a/tests/Avalonia.Controls.UnitTests/TextBoxTests_DataValidation.cs b/tests/Avalonia.Controls.UnitTests/TextBoxTests_DataValidation.cs
index 48cc365029..2b243f7282 100644
--- a/tests/Avalonia.Controls.UnitTests/TextBoxTests_DataValidation.cs
+++ b/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));
diff --git a/tests/Avalonia.Markup.UnitTests/Data/BindingTests_DataValidation.cs b/tests/Avalonia.Markup.UnitTests/Data/BindingTests_DataValidation.cs
index 13f2681584..44829aae1e 100644
--- a/tests/Avalonia.Markup.UnitTests/Data/BindingTests_DataValidation.cs
+++ b/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;
diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs b/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs
index 203ec5ee3b..ccf44aaee2 100644
--- a/tests/Avalonia.Markup.Xaml.UnitTests/Xaml/ControlTemplateTests.cs
+++ b/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);
}
}