2016-10-06 57 views
1

我在我的WPF项目中使用Avalondock来创建包含布局文档的多个选项卡。有没有办法来修复选项卡的位置,以便用户无法拖动和交换选项卡的位置。如何修复avalondock选项卡在wpf项目中的位置

以下是我的代码:

<avalonDock:DockingManager Grid.Row="1" x:Name="dockManager" AllowMixedOrientation="True" ActiveContentChanged="dockManager_ActiveContentChanged" Loaded="dockManager_Loaded" Mouse.MouseDown="dockManager_MouseDown"> 
    <avalonDock:DockingManager.Theme> 
      <avalonDock:AeroTheme/> 
     </avalonDock:DockingManager.Theme> 
     <avalonDock:DockingManager.DocumentHeaderTemplate> 
      <DataTemplate> 

       <StackPanel Orientation="Horizontal"> 

        <Image Source="{Binding IconSource}" Margin="0,0,4,0"/> 
        <TextBlock Text="{Binding Title , NotifyOnTargetUpdated=True}" TextTrimming="CharacterEllipsis" TargetUpdated="TextBlock_TargetUpdated" PreviewMouseDown="TextBlock_PreviewMouseDown"/> 
        <TextBlock Visibility="{Binding IsVisible}" /> 
       </StackPanel> 


      </DataTemplate> 
     </avalonDock:DockingManager.DocumentHeaderTemplate> 

    <avalonDock:LayoutRoot x:Name="layout"> 
     <avalonDock:LayoutPanel Orientation="Horizontal" DockWidth="450" DockMinWidth="200" > 
      <avalonDock:LayoutDocumentPane DockWidth="100*" x:Name="documentPane" > 
          <avalonDock:LayoutDocument CanClose="False" CanFloat="False" ContentId="doc1" FloatingWidth="100"> 
           <StackPanel> 
           <Frame BorderThickness="2" NavigationUIVisibility="Hidden" x:Name="Mainframe" Source="{Binding DisplayPage, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" /> 

           </StackPanel> 
          </avalonDock:LayoutDocument> 
         </avalonDock:LayoutDocumentPane> 


       </avalonDock:LayoutPanel> 

      </avalonDock:LayoutRoot> 

    </avalonDock:DockingManager> 

回答

0

CanFloat =假在LayoutDocument。

<avalonDock:DockingManager Grid.Row="1" x:Name="dockManager" AllowMixedOrientation="True" ActiveContentChanged="dockManager_ActiveContentChanged" Loaded="dockManager_Loaded" Mouse.MouseDown="dockManager_MouseDown"> 
<avalonDock:DockingManager.Theme> 
     <avalonDock:AeroTheme/> 
    </avalonDock:DockingManager.Theme> 
    <avalonDock:DockingManager.DocumentHeaderTemplate> 
     <DataTemplate> 
      <StackPanel Orientation="Horizontal"> 
       <Image Source="{Binding IconSource}" Margin="0,0,4,0"/> 
       <TextBlock Text="{Binding Title , NotifyOnTargetUpdated=True}" TextTrimming="CharacterEllipsis" TargetUpdated="TextBlock_TargetUpdated" PreviewMouseDown="TextBlock_PreviewMouseDown"/> 
       <TextBlock Visibility="{Binding IsVisible}" /> 
      </StackPanel> 
     </DataTemplate> 
    </avalonDock:DockingManager.DocumentHeaderTemplate> 
    <avalonDock:LayoutRoot x:Name="layout"> 
    <avalonDock:LayoutPanel Orientation="Horizontal" DockWidth="450" DockMinWidth="200" CanFloat="False"> 
     <avalonDock:LayoutDocumentPane DockWidth="100*" x:Name="documentPane" > 
      <avalonDock:LayoutDocument CanClose="False" CanFloat="False" ContentId="doc1" FloatingWidth="100"> 
       <StackPanel> 
        <Frame BorderThickness="2" NavigationUIVisibility="Hidden" x:Name="Mainframe" Source="{Binding DisplayPage, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" /> 
       </StackPanel> 
      </avalonDock:LayoutDocument> 
     </avalonDock:LayoutDocumentPane> 
      </avalonDock:LayoutPanel> 
    </avalonDock:LayoutRoot> 
</avalonDock:DockingManager> 
+0

嗨设置CanRepositionItems="False",我尝试了上述解决方案,但它并没有为我工作。 –

1

在LayoutDocumentPane

<avalonDock:LayoutDocumentPane DockWidth="100*" x:Name="documentPane" CanRepositionItems="False"> 
         <avalonDock:LayoutDocument CanClose="False" CanFloat="False" ContentId="doc1" FloatingWidth="100"> 
          <StackPanel> 
          <Frame BorderThickness="2" NavigationUIVisibility="Hidden" x:Name="Mainframe" Source="{Binding DisplayPage, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" /> 

          </StackPanel> 
         </avalonDock:LayoutDocument> 
        </avalonDock:LayoutDocumentPane> 
相关问题