Выделение отдельных сервисов
This commit is contained in:
@@ -14,26 +14,26 @@ public class LatticeDockHost : Control
|
||||
public DockAnchorOverlay? AnchorOverlay => GetTemplateChild("AnchorOverlay") as DockAnchorOverlay;
|
||||
|
||||
/// <summary>
|
||||
/// Определяет свойство зависимости для LayoutManager.
|
||||
/// Определяет свойство зависимости для LayoutService.
|
||||
/// </summary>
|
||||
public static readonly DependencyProperty ManagerProperty =
|
||||
DependencyProperty.Register(nameof(Manager), typeof(ILayoutService), typeof(LatticeDockHost), new PropertyMetadata(null, OnManagerChanged));
|
||||
public static readonly DependencyProperty ServiceProperty =
|
||||
DependencyProperty.Register(nameof(Service), typeof(ILayoutService), typeof(LatticeDockHost), new PropertyMetadata(null, OnServiceChanged));
|
||||
|
||||
/// <summary>
|
||||
/// Сервис управления макетом, привязанный к данному хосту.
|
||||
/// </summary>
|
||||
public ILayoutService? Manager
|
||||
public ILayoutService? Service
|
||||
{
|
||||
get => (ILayoutService?)GetValue(ManagerProperty);
|
||||
set => SetValue(ManagerProperty, value);
|
||||
get => (ILayoutService?)GetValue(ServiceProperty);
|
||||
set => SetValue(ServiceProperty, value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Указывает конкретный узел, который должен стать корнем для этого хоста.
|
||||
/// Если null — используется Manager.Root.
|
||||
/// Если null — используется Service.Root.
|
||||
/// </summary>
|
||||
public static readonly DependencyProperty RootNodeProperty =
|
||||
DependencyProperty.Register(nameof(RootNode), typeof(LayoutNode), typeof(LatticeDockHost), new PropertyMetadata(null, OnManagerChanged));
|
||||
DependencyProperty.Register(nameof(RootNode), typeof(LayoutNode), typeof(LatticeDockHost), new PropertyMetadata(null, OnServiceChanged));
|
||||
|
||||
public LayoutNode? RootNode
|
||||
{
|
||||
@@ -46,7 +46,7 @@ public class LatticeDockHost : Control
|
||||
this.DefaultStyleKey = typeof(LatticeDockHost);
|
||||
}
|
||||
|
||||
private static void OnManagerChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
private static void OnServiceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is LatticeDockHost host)
|
||||
{
|
||||
@@ -86,8 +86,8 @@ public class LatticeDockHost : Control
|
||||
{
|
||||
if (this.GetTemplateChild("LayoutPresenter") is ContentPresenter presenter)
|
||||
{
|
||||
// Приоритет: сначала проверяем локальный RootNode, затем глобальный Manager.Root
|
||||
var effectiveRoot = RootNode ?? Manager?.Root;
|
||||
// Приоритет: сначала проверяем локальный RootNode, затем глобальный Service.Root
|
||||
var effectiveRoot = RootNode ?? Service?.Root;
|
||||
|
||||
if (effectiveRoot != null)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user