2016-10-06 61 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> 
相關問題