2010-08-23 2 views
0

DevComponents 타사 컨트롤을 사용하여 3 개의 행으로 구성된 여러 도킹 구성 요소가있는 화면을 만들었습니다. 마지막 행은 3 개의 열을가집니다. 이 레이아웃을 성공적으로 만들었지 만 DockSite의 높이를 화면 테두리로 확장하는 방법을 알 수 없습니다. 나는 아래의 XAML을 게시 한WPF DevComponents Dock 컨트롤이 화면을 채우지 않습니다.

: 나는 DockSite.Site 속성을 제거하려했지만 한

<UserControl x:Class="Docking_UC" 
xmlns:my="clr-namespace:DevComponents.WpfDock;assembly=DevComponents.WpfDock" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
Height="714" Width="1057"> 
<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" MinHeight="83"></RowDefinition> 
     <RowDefinition Height="*"></RowDefinition> 
    </Grid.RowDefinitions> 
    <Grid HorizontalAlignment="Stretch" Margin="0" Name="bodyGrid" Width="Auto" Grid.Row="0"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="71" /> 
      <RowDefinition Height="*" /> 
     </Grid.RowDefinitions> 
     <WrapPanel> 
      <Label>Dock Test #</Label> 
      <Label>1</Label> 
     </WrapPanel> 
     <Rectangle Height="12" Name="menuRectangle" Stroke="Black" VerticalAlignment="Bottom" Fill="SteelBlue" Opacity="0.25" Grid.Row="1" /> 
    </Grid> 
    <my:DockSite Background="Transparent" Name="dashDockSiteAll" Grid.Row="1"> 
     <my:DockSite.SplitPanels> 
      <my:SplitPanel Orientation="Vertical" my:DockSite.Dock="Top" my:DockSite.DockSize="714"> 
       <my:SplitPanel Orientation="Vertical"> 
        <my:DockWindowGroup my:SplitPanel.RelativeSize="50,135"> 
         <my:DockWindow Header="Top" Name="dockWindowTop"> 
          <Label>2</Label> 
         </my:DockWindow> 
        </my:DockWindowGroup> 
        <my:DockWindowGroup my:SplitPanel.RelativeSize="50,220"> 
         <my:DockWindow Header="MidWindowTab1" Name="dockWindowMid1"> 
          <Label>3</Label> 
         </my:DockWindow> 
         <my:DockWindow Header="MidWindowTab2" Name="dockWindowMid2"> 
          <Label>4</Label> 
         </my:DockWindow> 
        </my:DockWindowGroup> 
        <my:DockWindowGroup my:SplitPanel.RelativeSize="50,150"> 
         <my:DockWindow Header="Bottom" Name="dockWindowBottom"> 
          <my:SplitPanel Orientation="Horizontal" my:SplitPanel.RelativeSize="50,150"> 
           <my:DockWindowGroup> 
            <my:DockWindow Header="BottomLeft"> 
             <Label>5</Label> 
            </my:DockWindow> 
           </my:DockWindowGroup> 
           <my:DockWindowGroup> 
            <my:DockWindow Header="BottomMid"> 
             <Label>6</Label> 
            </my:DockWindow> 
           </my:DockWindowGroup> 
           <my:DockWindowGroup> 
            <my:DockWindow Header="BottomRight"> 
             <Label>7</Label> 
            </my:DockWindow> 
           </my:DockWindowGroup> 
          </my:SplitPanel> 
         </my:DockWindow> 
        </my:DockWindowGroup> 
       </my:SplitPanel> 
      </my:SplitPanel> 
     </my:DockSite.SplitPanels> 
    </my:DockSite> 
</Grid> 

다음 왼쪽 도킹에 DockSite 기본 설정됩니다. 또한 하나의 창을 Bottom 사이트에 도킹 할 때 제거 할 수없는 커서의 높이에 대한 빈 영역이 남아 있습니다.

답변

1

그래, 문제 해결의 다른 날/컨트롤을 뒤범벅하고 난 후에 나는 내가 성취하려는 것을 마침내 발견했다. My : SplitPanel을 DockSite에 태그 바깥쪽에 추가했습니다.이 SplitPanel은 자동으로 나머지 공백에 도킹됩니다.

수정 된 코드는 다음과 같습니다과 추가는 음란 이상의 탭이 있습니다 :이 다른 사람이 같은 문제가 발생하는 데 도움이

<UserControl x:Class="Docking_UC" xmlns:my="clr-namespace:DevComponents.WpfDock assembly=DevComponents.WpfDock" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="714" Width="1057"> 
<Grid> 
<Grid.RowDefinitions> 
    <RowDefinition Height="Auto" MinHeight="83"></RowDefinition> 
    <RowDefinition Height="*"></RowDefinition> 
</Grid.RowDefinitions> 
<Grid HorizontalAlignment="Stretch" Margin="0" Name="bodyGrid" Width="Auto" Grid.Row="0"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="71" /> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 
    <WrapPanel> 
     <Label>Dock Test #</Label> 
     <Label>1</Label> 
    </WrapPanel> 
    <Rectangle Height="12" Name="menuRectangle" Stroke="Black" VerticalAlignment="Bottom" Fill="SteelBlue" Opacity="0.25" Grid.Row="1" /> 
</Grid> 
<my:DockSite Background="Transparent" Name="dashDockSiteAll" Grid.Row="1"> 
    <my:DockSite.SplitPanels> 
     <my:SplitPanel Orientation="Vertical" my:DockSite.Dock="Top" my:DockSite.DockSize="714"> 
      <my:SplitPanel Orientation="Vertical"> 
       <my:DockWindowGroup my:SplitPanel.RelativeSize="50,135"> 
        <my:DockWindow Header="Top" Name="dockWindowTop"> 
         <Label>2</Label> 
        </my:DockWindow> 
       </my:DockWindowGroup> 
       <my:DockWindowGroup my:SplitPanel.RelativeSize="50,220"> 
        <my:DockWindow Header="MidWindowTab1" Name="dockWindowMid1"> 
         <Label>3</Label> 
        </my:DockWindow> 
        <my:DockWindow Header="MidWindowTab2" Name="dockWindowMid2"> 
         <Label>4</Label> 
        </my:DockWindow> 
       </my:DockWindowGroup> 
      </my:SplitPanel> 
     </my:SplitPanel> 
    </my:DockSite.SplitPanels> 
       <my:SplitPanel Orientation="Horizontal" my:DockSite.DockSize="100"> 
         <my:SplitPanel Orientation="Horizontal" my:SplitPanel.RelativeSize="50,100"> 
          <my:DockWindowGroup> 
           <my:DockWindow Header="BottomLeft"> 
            <Label>5</Label> 
           </my:DockWindow> 
          </my:DockWindowGroup> 
          <my:DockWindowGroup> 
           <my:DockWindow Header="BottomMid"> 
            <Label>6</Label> 
           </my:DockWindow> 
          </my:DockWindowGroup> 
          <my:DockWindowGroup> 
           <my:DockWindow Header="BottomRight"> 
            <Label>7</Label> 
           </my:DockWindow> 
          </my:DockWindowGroup> 
         </my:SplitPanel> 
        </my:SplitPanel> 
</my:DockSite> 
</Grid> 

희망.

평판이 좋은 사람이라면 누구나 DevComponents 태그를 추가 하시겠습니까?

관련 문제