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().ElementAt(toIndex); - to = generator.CreateContainers(toIndex, new[] { item }, null).FirstOrDefault(); + to = generator.CreateContainers(toIndex, new[] { item }).FirstOrDefault(); if (to != null) { diff --git a/src/Perspex.Controls/Presenters/ItemsPresenter.cs b/src/Perspex.Controls/Presenters/ItemsPresenter.cs index 96e9cf2695..8d43a0a949 100644 --- a/src/Perspex.Controls/Presenters/ItemsPresenter.cs +++ b/src/Perspex.Controls/Presenters/ItemsPresenter.cs @@ -172,7 +172,7 @@ namespace Perspex.Controls.Presenters if (items != null) { Panel.Children.AddRange( - ItemContainerGenerator.CreateContainers(0, Items, null)); + ItemContainerGenerator.CreateContainers(0, Items)); INotifyCollectionChanged incc = items as INotifyCollectionChanged; @@ -229,7 +229,7 @@ namespace Perspex.Controls.Presenters { case NotifyCollectionChangedAction.Add: Panel.Children.AddRange( - generator.CreateContainers(e.NewStartingIndex, e.NewItems, null)); + generator.CreateContainers(e.NewStartingIndex, e.NewItems)); break; case NotifyCollectionChangedAction.Remove: