如何在 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;
}
}
}
我构建了一个使用 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;
}
}
}