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) if (b.Instance(this, property, null) is not UntypedBindingExpressionBase expression)
throw new NotSupportedException("Binding returned unsupported IBindingExpression."); throw new NotSupportedException("Binding returned unsupported IBindingExpression.");
return GetValueStore().AddBinding(property, expression); return GetValueStore().AddBinding(property, expression, priority);
} }
else else
{ {

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

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

Loading…
Cancel
Save