如何在 AvalonDock 2 中切换文档选项卡

How to switch between document tabs in AvalonDock 2

我构建了一个使用 AvalonDock 2 的小应用程序。我将我的视图模型绑定到停靠管理器,可以创建和删除文档,一切正常。但是,有一件事我确实开始工作:当我打开多个文档时,我无法使特定文档选项卡成为活动和可见选项卡(就像我单击选项卡 header 一样)代码。

我已经绑定到 "ActiveContent" 属性 并将其设置为我想成为活动和可见的文档,但这没有帮助。

有人可以给我一些建议吗?

经过一些研究,结果证明这是一项微不足道的任务。实际问题是缺乏关于这些琐碎任务的文档。所以这里对于所有遇到同样问题的人来说,答案是:

每个 LayoutItem 都有一个名为 IsSelected 的 属性。通过将其值设置为 'true',表示 LayoutItem 的选项卡将切换到视图中。

这是一个非 MMVM 解决方案,可以使布局成为 AvalonDock 2 中的活动布局或选定布局。

下面的代码与 XAML MainWindow 相同 class,其中 "mainPanel" 是 LayoutDocumentPane 的名称。

XAML

<xcad:LayoutDocumentPane x:Name="mainPanel">

隐藏代码:

public void MakeActiveLayout(String layoutTitle)
{
    foreach (LayoutDocument child in mainPanel.Children)
    {
        if(child.Title == layoutTitle)
        {
            child.IsSelected = true;
        }
    }
}