Browse Source

Respect binding priority.

pull/13970/head
Steven Kirk 2 years ago
parent
commit
a72765d705
  1. 2
      src/Avalonia.Base/AvaloniaObject.cs
  2. 5
      src/Avalonia.Base/PropertyStore/ValueStore.cs

2
src/Avalonia.Base/AvaloniaObject.cs

@ -459,7 +459,7 @@ namespace Avalonia
{
if (b.Instance(this, property, null) is not UntypedBindingExpressionBase expression)
throw new NotSupportedException("Binding returned unsupported IBindingExpression.");
return GetValueStore().AddBinding(property, expression);
return GetValueStore().AddBinding(property, expression, priority);
}
else
{

5
src/Avalonia.Base/PropertyStore/ValueStore.cs

@ -45,7 +45,8 @@ namespace Avalonia.PropertyStore
public BindingExpressionBase AddBinding(
AvaloniaProperty property,
UntypedBindingExpressionBase source)
UntypedBindingExpressionBase source,
BindingPriority? priorityOverride = null)
{
if (property.IsDirect)
{
@ -57,7 +58,7 @@ namespace Avalonia.PropertyStore
}
else
{
var priority = source.Priority;
var priority = priorityOverride ?? source.Priority;
if (priority == BindingPriority.LocalValue)
{

Loading…
Cancel
Save