2013-07-28 98 views
0

我有一個頁面,這裏是XAML。認爲窗口有一個TabControl,我創建了一個tab - > frame - >頁面。問題是最後兩個DataGrids的高度更多的是頁面高度!任何幫助appresiated!謝謝。WPF DataGrid高度超過頁面高度

<Page x:Class="pObjectDesigner" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:local="clr-namespace:STUDIO_MANAGER_FRAMEWORK" 
     mc:Ignorable="d" x:Name="pObjectDesigner" 
     d:DesignHeight="750" d:DesignWidth="1050" MinWidth="500" 
     Title="pObjectDesigner"> 
    <Grid x:Name="MainGrid"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="50"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 
     <local:ucMXMainToolBar Grid.Row="0" Allow_GoLeft="False" Allow_GoRight="False" x:Name="tlbToolBar" VerticalAlignment="Top" /> 

     <Grid Grid.Row="1"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="250" MinWidth="180"/> 
       <ColumnDefinition Width="5"/> 
       <ColumnDefinition Width="*"/> 
      </Grid.ColumnDefinitions> 

      <TreeView x:Name="tlstObjects" 
         HorizontalContentAlignment="Stretch" 
         VerticalContentAlignment="Stretch"/> 

      <GridSplitter Grid.Column="1" HorizontalAlignment="Stretch"/> 

      <Grid Grid.Column="2"> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="5"/> 
        <RowDefinition Height="*"/> 
       </Grid.RowDefinitions> 

       <DataGrid Grid.Row="0" x:Name="grdPages" 
          AutoGenerateColumns="True" 
          ColumnWidth="Auto" 
          VerticalContentAlignment="Stretch" 
          HorizontalContentAlignment="Stretch" 
          CanUserReorderColumns="True" /> 

       <GridSplitter Grid.Row="1" HorizontalAlignment="Stretch"/> 

       <Grid Grid.Row="2"> 
        <Grid.ColumnDefinitions > 
         <ColumnDefinition Width="0.5*" MinWidth="150" /> 
         <ColumnDefinition Width="5"/> 
         <ColumnDefinition Width="0.5*" MinWidth="150"/> 
        </Grid.ColumnDefinitions> 

        <DataGrid Grid.Column="0" x:Name="grdDataGrids" 
          AutoGenerateColumns="True" 
          ColumnWidth="Auto" 
          VerticalContentAlignment="Stretch" 
          HorizontalContentAlignment="Stretch" 
          CanUserReorderColumns="True"/> 

        <GridSplitter Grid.Column="1" HorizontalAlignment="Stretch"/> 

        <DataGrid Grid.Column="2" x:Name="grdModules" 
          AutoGenerateColumns="True" 
          ColumnWidth="Auto" 
          VerticalContentAlignment="Stretch" 
          HorizontalContentAlignment="Stretch" 
          CanUserReorderColumns="True"/> 

       </Grid> 
      </Grid> 
     </Grid> 
    </Grid> 
</Page> 

Snapshot

回答

0

喜DataGrid中使用AttachedProperty ScrollViewer.VerticalScrollBarVisibility爲自動

<DataGrid **ScrollViewer.VerticalScrollBarVisibility="Auto"** 

Similarlly你可以將它設置爲平鋪。我希望這將有助於。

+0

是的我已閱讀關於它..但垂直滾動條到左下角的數據網格是不可見的..你知道爲什麼嗎? –

+0

由於DataGrid的高度小於滾動區域高度,因此它對於左下方的DataGrid不可見。如果你想始終顯示,然後設置ScrollViewer.VerticalScrollBarVisibility =「可見」。 – Nitesh

+1

如果您將設置屬性ScrollViewer.VerticalScrollBarVisibility =「Auto」,它將可見。或者另一種方法可以將你的數據網格放入ScrollViewer中 – ethicallogics