2012-05-02 3 views
0

D3 차트 컨트롤을 사용하여 추가 기능으로 차트 사용자 컨트롤을 만드는 중입니다. 다음은 내 UI 문제입니다.WPF UI 디자인 문제 - 컨트롤 가시성

상단에는 도구 모음 트레이가 있으며 중간에는 차트가, 하단에는 접힌 데이터 격자가 있습니다. 사용자 컨트롤의 오른쪽에는 독점 장치가 있습니다. 이 도킹 장치는 사용자 정의 컨트롤의 길이를 다루며 때로는 패널이 표시되는 영역을 제공합니다.

사용자 정의 컨트롤을 WPF 윈도우에로드하고 스트레칭하도록 설정하면 데이터 격자가 코드에서 보이도록 (예 : 버튼 클릭으로) 설정된 경우에도 맨 아래에있는 축소 된 데이터 격자가 표시되지 않습니다. 차트가 맨 아래로 채 웁니다. 이 문제를 어떻게 해결합니까? 다음

는 동일한에 대한 XAML입니다 :

<UserControl> 
<DockPanel> 
    <Grid Name="LnChartEditor" DockPanel.Dock="Right"/> 
    <osc:DockPanelSplitter x:Name="DocSplitter" DockPanel.Dock="Right" Style="{StaticResource VerticalBevelGrip}" Width="7" />   
     <ToolBarTray DockPanel.Dock="Top" Height="32" Width="Auto" HorizontalAlignment="Stretch" Name="toolBarTrayTop" VerticalAlignment="Top" > 
      <ToolBar x:Name="ToolBarOben" DockPanel.Dock="Top" Height="30"> 
       <Button Width="30" Height="30"> 
       </Button> 
       <Label x:Name="lblCaption" Width="Auto">      
       </Label> 
       <Popup x:Name="Popup1" PlacementTarget="{Binding ElementName=ClearChart}" PopupAnimation="Slide" AllowsTransparency="true"> 
       </Popup> 
      </ToolBar> 
     </ToolBarTray> 
     <Grid Name="grdPlotter" Background="WhiteSmoke" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
      <d3:ChartPlotter Name="LineChart" BorderThickness="10" Opacity="0.8" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> 
       <d3:AxisNavigation Placement="Right"/> 
       <d3:ChartPlotter.ContextMenu> 
        <ContextMenu Name="D3ContextMenu"> 
        </ContextMenu> 
       </d3:ChartPlotter.ContextMenu> 
      </d3:ChartPlotter>    
     </Grid> 
    <DataGrid DockPanel.Dock="Bottom" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" x:Name="gridMiniReport" Visibility="Collapsed"   CanUserAddRows="False" CanUserDeleteRows="False" CanUserReorderColumns="False" CanUserResizeColumns="False" CanUserResizeRows="False"      CanUserSortColumns="False" HeadersVisibility="Column" GridLinesVisibility="None"> 
    </DataGrid>   
</DockPanel> 

답변

0

마지막 자식이 나머지 공간 채우기 때문에 선언의 순서를 변경 시도 :

<DockPanel> 
    <Grid Name="LnChartEditor" DockPanel.Dock="Right" /> 
    <osc:DockPanelSplitter x:Name="DocSplitter" DockPanel.Dock="Right" />   
    <ToolBarTray Name="toolBarTrayTop" DockPanel.Dock="Top" /> 
    <DataGrid x:Name="gridMiniReport" DockPanel.Dock="Bottom" /> 
    <Grid Name="grdPlotter" /> 
</DockPanel> 
+0

감사합니다! 그것은 효과가있다! :) – Harsha

관련 문제