using Lattice.Layout.Abstractions; using Lattice.Layout.UI.WinUI.Controls; using Lattice.Layout.UI.WinUI.Docking; using Microsoft.UI.Xaml; namespace Lattice.Layout.UI.WinUI.Visuals; /// /// Визуальное представление конечного элемента раскладки для WinUI. /// Оборачивает содержимое в . /// public sealed class WinUIItemVisual : LayoutVisual, IWinUIVisual { /// /// Реальный WinUI-контрол, отображающий элемент. /// public WinUIItemControl ItemControl { get; } /// /// Контрол, используемый докингом и рендерером. /// public FrameworkElement Control => ItemControl; /// /// Заголовок вкладки или элемента. /// public string Header => ((ILayoutItem)Model).Title; public WinUIItemVisual(ILayoutItem model) : base(model) { ItemControl = new WinUIItemControl { ContentId = model.ContentId }; } /// public override void Attach() { // Здесь можно привязать реальное содержимое по ContentId через Shell/Service. // Например: // ItemControl.Content = resolver(((ILayoutItem)Model).ContentId); } /// public override void Detach() { ItemControl.Content = null; } }