diff --git a/Perspex.Controls/Perspex.Controls.csproj b/Perspex.Controls/Perspex.Controls.csproj
index 3cdd69bbbb..360d044f75 100644
--- a/Perspex.Controls/Perspex.Controls.csproj
+++ b/Perspex.Controls/Perspex.Controls.csproj
@@ -92,6 +92,7 @@
+
diff --git a/Perspex.Controls/Primitives/SelectingItemsControl.cs b/Perspex.Controls/Primitives/SelectingItemsControl.cs
index 70421ca0e8..b73af7712c 100644
--- a/Perspex.Controls/Primitives/SelectingItemsControl.cs
+++ b/Perspex.Controls/Primitives/SelectingItemsControl.cs
@@ -6,12 +6,11 @@
namespace Perspex.Controls.Primitives
{
- using System;
- using System.Collections;
- using System.Linq;
+ using Perspex.Controls.Utils;
using Perspex.Input;
using Perspex.VisualTree;
- using System.Collections.Generic;
+ using System;
+ using System.Linq;
public abstract class SelectingItemsControl : ItemsControl
{
@@ -31,7 +30,7 @@ namespace Perspex.Controls.Primitives
if (control != null)
{
- control.SelectedItem = control.GetItemAt((int)x.NewValue);
+ control.SelectedItem = control.Items.ElementAt((int)x.NewValue);
}
});
@@ -58,58 +57,6 @@ namespace Perspex.Controls.Primitives
set { this.SetValue(SelectedItemProperty, value); }
}
- protected static int GetIndexOfItem(IEnumerable items, object item)
- {
- var list = items as IList;
-
- if (list != null)
- {
- return list.IndexOf(item);
- }
- else if (items != null)
- {
- int index = 0;
-
- foreach (var i in items)
- {
- if (object.ReferenceEquals(i, item))
- {
- return index;
- }
-
- ++index;
- }
- }
-
- return -1;
- }
-
- protected static object GetItemAt(IEnumerable items, int index)
- {
- var list = items as IList;
-
- if (list != null)
- {
- return list[index];
- }
- else if (items != null)
- {
- return items.Cast