在程序开始时,我总是看到我的FeatureViewTemplate
显示在FileStatsViewTemplate
内的右侧:
但我希望区域的排列方式为左侧File Stats
和右侧FeatureArea
。像那样:
如何在程序的第一次启动时安排FileStats
和FeatureArea
( *,如果没有创建“AvalonDock.config”文件按计划* )?有可能吗?
答案 0 :(得分:1)
一种解决方案是添加两个LayoutAnchorablePane和一个LayoutDocumentPane。
<avalonDock:LayoutRoot>
<avalonDock:LayoutPanel Orientation="Horizontal">
<avalonDock:LayoutAnchorablePane Name="FirstAnchorablePane"/>
<avalonDock:LayoutDocumentPane/>
<avalonDock:LayoutAnchorablePane Name="SecondAnchorablePane"/>
</avalonDock:LayoutPanel>
</avalonDock:LayoutRoot>
相应地,在LayoutInitializer中使用相应的内容初始化两个可锚定的窗格。
var item = anchorableToShow.Content;
var toolsPane = layout.Descendents().OfType<LayoutAnchorablePane>().FirstOrDefault(d => d.Name == "SecondAnchorablePane");
var firstPane = layout.Descendents().OfType<LayoutAnchorablePane>().FirstOrDefault(d => d.Name == "FirstAnchorablePane");
if (toolsPane != null)
{
if(item is RecentFilesViewModel)
toolsPane.Children.Add(anchorableToShow);
if (item is FileStatsViewModel)
firstPane.Children.Add(anchorableToShow);
return true;
}
但是只有一个LayoutAnchorablePane,也许有办法这样做。完全不知道,知道也会很有趣。