diff --git a/src/Perspex.Base/PriorityLevel.cs b/src/Perspex.Base/PriorityLevel.cs index 3c47199525..0ca18e45bd 100644 --- a/src/Perspex.Base/PriorityLevel.cs +++ b/src/Perspex.Base/PriorityLevel.cs @@ -7,22 +7,6 @@ using System.Reactive.Disposables; namespace Perspex { - /// - /// Determines how the current binding is selected for a . - /// - internal enum LevelPrecedenceMode - { - /// - /// The latest fired binding is used as the current value. - /// - Latest, - - /// - /// The latest added binding is used as the current value. - /// - Newest, - } - /// /// Stores bindings for a priority level in a . /// @@ -62,8 +46,6 @@ namespace Perspex /// private int _nextIndex; - private readonly LevelPrecedenceMode _mode; - /// /// Initializes a new instance of the class. /// @@ -72,12 +54,10 @@ namespace Perspex /// A method to be called when the current value changes. public PriorityLevel( int priority, - LevelPrecedenceMode mode, Action changed) { Contract.Requires(changed != null); - _mode = mode; _changed = changed; Priority = priority; Value = _directValue = PerspexProperty.UnsetValue; @@ -155,7 +135,7 @@ namespace Perspex /// The entry that changed. private void Changed(PriorityBindingEntry entry) { - if (_mode == LevelPrecedenceMode.Latest || entry.Index >= ActiveBindingIndex) + if (entry.Index >= ActiveBindingIndex) { if (entry.Value != PerspexProperty.UnsetValue) { diff --git a/src/Perspex.Base/PriorityValue.cs b/src/Perspex.Base/PriorityValue.cs index a8b72a376d..7e10c6ca72 100644 --- a/src/Perspex.Base/PriorityValue.cs +++ b/src/Perspex.Base/PriorityValue.cs @@ -209,8 +209,7 @@ namespace Perspex if (!_levels.TryGetValue(priority, out result)) { - var mode = (LevelPrecedenceMode)(priority % 2); - result = new PriorityLevel(priority, mode, ValueChanged); + result = new PriorityLevel(priority, ValueChanged); _levels.Add(priority, result); } diff --git a/tests/Perspex.Base.UnitTests/PriorityValueTests.cs b/tests/Perspex.Base.UnitTests/PriorityValueTests.cs index 5894ea12c3..10f3bdb4db 100644 --- a/tests/Perspex.Base.UnitTests/PriorityValueTests.cs +++ b/tests/Perspex.Base.UnitTests/PriorityValueTests.cs @@ -67,23 +67,7 @@ namespace Perspex.Base.UnitTests } [Fact] - public void Earlier_Binding_Firing_Should_Override_Later_Priority_0() - { - var target = new PriorityValue(null, "Test", typeof(string)); - var nonActive = new BehaviorSubject("na"); - var source = new BehaviorSubject("initial"); - - target.Add(nonActive, 0); - target.Add(source, 0); - Assert.Equal("initial", target.Value); - target.SetValue("first", 0); - Assert.Equal("first", target.Value); - nonActive.OnNext("second"); - Assert.Equal("second", target.Value); - } - - [Fact] - public void Earlier_Binding_Firing_Should_Not_Override_Later_Priority_1() + public void Earlier_Binding_Firing_Should_Not_Override_Later() { var target = new PriorityValue(null, "Test", typeof(string)); var nonActive = new BehaviorSubject("na");