DragAndDrop core
This commit is contained in:
27
Lattice.UI.Docking.WinUI/Converters/DockTemplateSelector.cs
Normal file
27
Lattice.UI.Docking.WinUI/Converters/DockTemplateSelector.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using Lattice.Core.Docking.Models;
|
||||
using Microsoft.UI.Xaml;
|
||||
using Microsoft.UI.Xaml.Controls;
|
||||
|
||||
namespace Lattice.UI.Docking.WinUI.Converters;
|
||||
|
||||
/// <summary>
|
||||
/// Выбирает визуальный шаблон для узла дерева макета.
|
||||
/// </summary>
|
||||
public class DockTemplateSelector : DataTemplateSelector
|
||||
{
|
||||
/// <summary> Шаблон для узлов-разделителей (DockGroup). </summary>
|
||||
public DataTemplate? GroupTemplate { get; set; }
|
||||
|
||||
/// <summary> Шаблон для контейнеров вкладок (DockLeaf). </summary>
|
||||
public DataTemplate? LeafTemplate { get; set; }
|
||||
|
||||
protected override DataTemplate? SelectTemplateCore(object item, DependencyObject container)
|
||||
{
|
||||
return item switch
|
||||
{
|
||||
DockGroup => GroupTemplate,
|
||||
DockLeaf => LeafTemplate,
|
||||
_ => base.SelectTemplateCore(item, container)
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user