Files
TheXamlGuy.TaskbarGroup/TheXamlGuy.TaskbarGroup.Foundation/TemplateSelector.cs
T
dan_clark@outlook.com 2ac0e3ed26 project
2022-03-23 15:44:32 +00:00

33 lines
968 B
C#

using System.Windows;
using System.Windows.Controls;
using TheXamlGuy.TaskbarGroup.Core;
namespace TheXamlGuy.TaskbarGroup.Foundation
{
public class TemplateSelector : DataTemplateSelector, ITemplateSelector
{
private readonly DataTemplateFactory dataTemplateFactory;
public TemplateSelector(DataTemplateFactory dataTemplateFactory)
{
this.dataTemplateFactory = dataTemplateFactory;
}
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
if (item is not null)
{
var dataType = item.GetType();
var dataTemplate = dataTemplateFactory.Create(dataType);
if (dataTemplate is not null)
{
dataTemplate.Seal();
return dataTemplate;
}
}
return base.SelectTemplate(item, container);
}
}
}