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