2015-12-05 4 views
0

При запуске программы я всегда вижу свою FeatureViewTemplate показан на правой стороне в FileStatsViewTemplate так: enter image description hereКак организовать стыковочные виды при первом запуске программы. AvalonDock

Но я хотел бы, чтобы устроить из областей, чтобы быть в таком порядке File Stats на левой стороне и FeatureArea с правой стороны. Как что: enter image description here

Как сделать такие аранжировать FileStats и FeatureArea при первом запуске программы (* когда нет файла «AvalonDock.config», созданный программой *)? Является ли это возможным?

ответ

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, возможно, есть способ сделать это. Не знаю вообще, было бы интересно узнать тоже.

Смежные вопросы