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) }; } }