using Lattice.Core.Docking.Models;
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
namespace Lattice.UI.Docking.WinUI.Converters;
///
/// Выбирает визуальный шаблон для узла дерева макета.
///
public class DockTemplateSelector : DataTemplateSelector
{
/// Шаблон для узлов-разделителей (DockGroup).
public DataTemplate? GroupTemplate { get; set; }
/// Шаблон для контейнеров вкладок (DockLeaf).
public DataTemplate? LeafTemplate { get; set; }
protected override DataTemplate? SelectTemplateCore(object item, DependencyObject container)
{
return item switch
{
DockGroup => GroupTemplate,
DockLeaf => LeafTemplate,
_ => base.SelectTemplateCore(item, container)
};
}
}