2016-10-06 10 views
1

내 WPF 프로젝트에서 Avalondock을 사용하여 레이아웃 문서가 포함 된 여러 탭을 만듭니다. 탭 위치를 수정하여 사용자가 탭 위치를 드래그하여 교환 할 수 없도록하는 방법이 있습니까?wpf 프로젝트에서 avalondock 탭의 위치를 ​​수정하는 방법

<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>