2017-05-30 122 views
0

我已经下载了avalon 2.0,并在加载时右侧的工具面板启动,文件面板从左侧开始。如何修改Avalon 2.0的启动布局WPF

我试图让工具面板停靠在负载左侧,即使当我删除了与左侧加载的FileViewModel相关的所有内容时,空白面板仍停留在左侧。

下面这张图片显示了当前窗口如何加载: Rightpanel

我想对离开这样的工具面板负载。(我通过拖动工具窗格上运行时实现了这个Would like to load the app like this.

在我的WPF,我只能看到一个LayoutAnchorablePane所以我看不出为什么屏幕被分成两个?

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="3"/> 
     <RowDefinition Height="*"/> 
    </Grid.RowDefinitions> 
    <Menu Grid.Row="0"> 
     <MenuItem Header="File"> 
      <MenuItem Header="New" Command="{Binding NewCommand}"/> 
      <MenuItem Header="Open" Command="{Binding OpenCommand}"/> 
      <Separator/> 
      <MenuItem Header="Save" Command="{Binding ActiveDocument.SaveCommand}"/> 
      <MenuItem Header="Save As..." Command="{Binding ActiveDocument.SaveAsCommand}"/> 
      <Separator/> 
      <MenuItem Header="Close" Command="{Binding ActiveDocument.CloseCommand}"/> 
     </MenuItem> 
     <MenuItem Header="Tools"> 
      <MenuItem Header="{Binding FileStats.Title, Mode=TwoWay}" IsChecked="{Binding FileStats.IsVisible, Mode=TwoWay}" IsCheckable="True"/> 
      <MenuItem Header="{Binding Exported.Title, Mode=TwoWay}" IsChecked="{Binding Exported.IsVisible, Mode=TwoWay}" IsCheckable="True"/> 
      <MenuItem Header="{Binding ExportedResult.Title, Mode=TwoWay}" IsChecked="{Binding ExportedResult.IsVisible, Mode=TwoWay}" IsCheckable="True"/> 
      <MenuItem Header="{Binding Manifest.Title, Mode=TwoWay}" IsChecked="{Binding Manifest.IsVisible, Mode=TwoWay}" IsCheckable="True"/> 
     </MenuItem> 
     <MenuItem Header="Layout"> 
      <MenuItem Header="Load" Command="{Binding LoadLayoutCommand, ElementName=mainWindow}"/> 
      <MenuItem Header="Save" Command="{Binding SaveLayoutCommand, ElementName=mainWindow}"/> 
      <MenuItem Header="Dump to Console" Click="OnDumpToConsole"/> 

     </MenuItem> 
    </Menu><!--AnchorablesSource="{Binding Tools}" DocumentsSource="{Binding Files}"--> 
    <avalonDock:DockingManager x:Name="dockManager" 
           AnchorablesSource="{Binding Tools}" 
           DocumentsSource="{Binding Files}" 
           ActiveContent="{Binding ActiveDocument, Mode=TwoWay, Converter={StaticResource ActiveDocumentConverter}}" 
           Grid.Row="1" > 
     <avalonDock:DockingManager.LayoutItemTemplateSelector> 
      <local:PanesTemplateSelector> 
       <local:PanesTemplateSelector.FileStatsViewTemplate> 
        <DataTemplate> 
         <StackPanel Orientation="Vertical"> 
          <TextBlock Text="{Binding FileSize}"/> 
          <TextBlock Text="{Binding LastModified}"/> 
          <TextBox Text="test"/> 
         </StackPanel> 
        </DataTemplate> 
       </local:PanesTemplateSelector.FileStatsViewTemplate> 
      </local:PanesTemplateSelector> 
     </avalonDock:DockingManager.LayoutItemTemplateSelector> 
     <avalonDock:DockingManager.LayoutItemContainerStyleSelector> 
      <local:PanesStyleSelector> 
       <local:PanesStyleSelector.ToolStyle> 
        <Style TargetType="{x:Type avalonDock:LayoutAnchorableItem}"> 
         <Setter Property="Title" Value="{Binding Model.Title}"/> 
         <Setter Property="IconSource" Value="{Binding Model.IconSource}"/> 
         <Setter Property="Visibility" Value="{Binding Model.IsVisible, Mode=TwoWay, Converter={StaticResource BoolToVisibilityConverter}, ConverterParameter={x:Static Visibility.Hidden}}"/> 
         <Setter Property="ContentId" Value="{Binding Model.ContentId}"/> 
         <Setter Property="IsSelected" Value="{Binding Model.IsSelected, Mode=TwoWay}"/> 
         <Setter Property="IsActive" Value="{Binding Model.IsActive, Mode=TwoWay}"/> 
        </Style> 
       </local:PanesStyleSelector.ToolStyle> 
      </local:PanesStyleSelector> 
     </avalonDock:DockingManager.LayoutItemContainerStyleSelector> 
     <avalonDock:DockingManager.LayoutUpdateStrategy> 
      <local:LayoutInitializer/> 
     </avalonDock:DockingManager.LayoutUpdateStrategy> 
     <avalonDock:LayoutRoot> 
      <avalonDock:LayoutPanel Orientation="Horizontal" > 
       <avalonDock:LayoutAnchorablePane Name="ToolsPane" DockHeight="150" > 
       </avalonDock:LayoutAnchorablePane> 
       <avalonDock:LayoutDocumentPane /> 
      </avalonDock:LayoutPanel> 
     </avalonDock:LayoutRoot> 
    </avalonDock:DockingManager> 
</Grid> 
+0

在发布这个问题后,我意识到在我的AvalonDock.config文件中有一个元素“LayoutDocumentPane”,这个元素在加载时不断反序列化。 – Decoder94

回答

-1

这似乎工作,但要小心,样品保存状态

<avalonDock:LayoutRoot> 
      <avalonDock:LayoutPanel Orientation="Horizontal"> 
       <avalonDock:LayoutAnchorablePane Name="ToolsPane" DockWidth="100"> 
        <avalonDock:LayoutAnchorable> 
         <TextBlock>tototo</TextBlock> 
        </avalonDock:LayoutAnchorable> 
       </avalonDock:LayoutAnchorablePane> 

       <avalonDock:LayoutDocumentPane/> 

      </avalonDock:LayoutPanel> 
     </avalonDock:LayoutRoot> 
    </avalonDock:DockingManager>