diff --git a/src/Perspex.Controls/Generators/IItemContainerGenerator.cs b/src/Perspex.Controls/Generators/IItemContainerGenerator.cs
index d613c89d64..6f3f71d6eb 100644
--- a/src/Perspex.Controls/Generators/IItemContainerGenerator.cs
+++ b/src/Perspex.Controls/Generators/IItemContainerGenerator.cs
@@ -25,12 +25,10 @@ namespace Perspex.Controls.Generators
/// The index of the first item of the data in the containing collection.
///
/// The items.
- /// An optional item template.
/// The created controls.
IList CreateContainers(
int startingIndex,
- IEnumerable items,
- IDataTemplate itemTemplate);
+ IEnumerable items);
///
/// Removes a set of created containers from the index and returns the removed controls.
diff --git a/src/Perspex.Controls/Generators/ItemContainerGenerator.cs b/src/Perspex.Controls/Generators/ItemContainerGenerator.cs
index 5ec080255e..0e23256c87 100644
--- a/src/Perspex.Controls/Generators/ItemContainerGenerator.cs
+++ b/src/Perspex.Controls/Generators/ItemContainerGenerator.cs
@@ -45,12 +45,10 @@ namespace Perspex.Controls.Generators
/// The index of the first item of the data in the containing collection.
///
/// The items.
- /// An optional item template.
/// The created container controls.
public IList CreateContainers(
int startingIndex,
- IEnumerable items,
- IDataTemplate itemTemplate)
+ IEnumerable items)
{
Contract.Requires(items != null);
@@ -59,7 +57,7 @@ namespace Perspex.Controls.Generators
foreach (var item in items)
{
- IControl container = CreateContainer(item, itemTemplate);
+ IControl container = CreateContainer(item);
result.Add(container);
}
@@ -141,20 +139,13 @@ namespace Perspex.Controls.Generators
/// Creates the container for an item.
///
/// The item.
- /// An optional item template.
/// The created container control.
- protected virtual IControl CreateContainer(object item, IDataTemplate itemTemplate)
+ protected virtual IControl CreateContainer(object item)
{
if (item == null)
{
return null;
}
- else if (itemTemplate != null && itemTemplate.Match(item))
- {
- var result = itemTemplate.Build(item);
- result.DataContext = item;
- return result;
- }
else
{
return Owner.MaterializeDataTemplate(item);
diff --git a/src/Perspex.Controls/Generators/ItemContainerGenerator`1.cs b/src/Perspex.Controls/Generators/ItemContainerGenerator`1.cs
index 1826527bf2..b943231e62 100644
--- a/src/Perspex.Controls/Generators/ItemContainerGenerator`1.cs
+++ b/src/Perspex.Controls/Generators/ItemContainerGenerator`1.cs
@@ -21,7 +21,7 @@ namespace Perspex.Controls.Generators
}
///
- protected override IControl CreateContainer(object item, IDataTemplate itemTemplate)
+ protected override IControl CreateContainer(object item)
{
T result = item as T;
diff --git a/src/Perspex.Controls/Generators/TreeItemContainerGenerator.cs b/src/Perspex.Controls/Generators/TreeItemContainerGenerator.cs
index da6703f0b8..c778f3750d 100644
--- a/src/Perspex.Controls/Generators/TreeItemContainerGenerator.cs
+++ b/src/Perspex.Controls/Generators/TreeItemContainerGenerator.cs
@@ -46,9 +46,8 @@ namespace Perspex.Controls.Generators
/// The index of the first item of the data in the containing collection.
///
/// The items.
- /// An optional item template.
/// The created container controls.
- public IList CreateContainers(int startingIndex, IEnumerable items, IDataTemplate itemTemplate)
+ public IList CreateContainers(int startingIndex, IEnumerable items)
{
Contract.Requires(items != null);
@@ -57,7 +56,7 @@ namespace Perspex.Controls.Generators
foreach (var item in items)
{
- var container = CreateContainer(item, itemTemplate);
+ var container = CreateContainer(item);
_containers.Add(item, container);
result.Add(container);
}
@@ -156,9 +155,8 @@ namespace Perspex.Controls.Generators
/// Creates the container for an item.
///
/// The item.
- /// An optional item template.
/// The created container control.
- protected virtual T CreateContainer(object item, IDataTemplate itemTemplate)
+ protected virtual T CreateContainer(object item)
{
T result = item as T;
diff --git a/src/Perspex.Controls/Presenters/DeckPresenter.cs b/src/Perspex.Controls/Presenters/DeckPresenter.cs
index fd3ca9e754..9b27aeee7b 100644
--- a/src/Perspex.Controls/Presenters/DeckPresenter.cs
+++ b/src/Perspex.Controls/Presenters/DeckPresenter.cs
@@ -181,7 +181,7 @@ namespace Perspex.Controls.Presenters
if (toIndex != -1)
{
var item = Items.Cast