2010-09-29 26 views
4

我正在使用WPF數據網格綁定到對象(即不是數據庫)。 Stretch上有水平對齊。我目前在一個網格內的Border中。WPF數據網格 - 如何隱藏下一個可見的列/行?

但是,當我運行該應用程序DataGrid有一個空白列和網格顯示。也就是說我有5列& 5行,然後有一個空白的第6列和行顯示。見圖片:

alt text

問題 - 怎樣才能擺脫這些空行的?請注意,DataGrid的內容以編程方式填充(即不是靜態的)。

感謝

編輯:我得到了額外的行(通過CanUserAddRows)固定的,但我仍然有右側額外的列的問題。

右側額外列的問題似乎與自動設置列寬有關。 DataGrid實際上是設置好的(參見下面的XAML),這樣GridSplitter就是正確的。當我移動GridSplitter時,我注意到DataGrid列不會自動調整大小。所以總的來說,問題是(a)在啓動時會出現部分額外的列,(b)在移動GridSplitter後,它們也不會調整大小。

有關如何使這項工作的任何想法?

 <Grid> 

      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="Auto"/> 
       <ColumnDefinition Width="Auto"/> 
       <ColumnDefinition Width="*"/> 
      </Grid.ColumnDefinitions> 

      <Grid Grid.Column="0"> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition Height="*"/> 
       </Grid.RowDefinitions> 
       <Label Content="Summary" Grid.Row="0" HorizontalAlignment="Center" /> 
       <Grid Grid.Row="1"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="*"/> 
         <ColumnDefinition Width="*"/> 
         <ColumnDefinition Width="*"/> 
         <ColumnDefinition Width="*"/> 
        </Grid.ColumnDefinitions> 
        <RadioButton IsChecked="{Binding Path=Period, Converter={StaticResource enumBooleanConverter}, ConverterParameter=AllTime}" Grid.Column="0">All Time</RadioButton> 
        <RadioButton IsChecked="{Binding Path=Period, Converter={StaticResource enumBooleanConverter}, ConverterParameter=Month}" Grid.Column="1">Month</RadioButton> 
        <RadioButton IsChecked="{Binding Path=Period, Converter={StaticResource enumBooleanConverter}, ConverterParameter=Week}" Grid.Column="2">Week</RadioButton> 
        <RadioButton IsChecked="{Binding Path=Period, Converter={StaticResource enumBooleanConverter}, ConverterParameter=Day}" Grid.Column="3">Day</RadioButton> 
       </Grid> 
       <Border Grid.Row="2"> 
        <DataGrid Name="SummaryDataGrid" HorizontalGridLinesBrush="#FF726868" VerticalGridLinesBrush="#FF726868" AlternatingRowBackground="#FFD0F896" CanUserReorderColumns="False" CanUserResizeRows="False" CanUserAddRows="False" CanUserSortColumns="True" CanUserResizeColumns="False" ColumnWidth="Auto" /> 
       </Border> 

      </Grid> 


      <GridSplitter HorizontalAlignment="Right" 
      VerticalAlignment="Stretch" Grid.Column="1" ResizeBehavior="PreviousAndNext" 
      Width="5" Background="#FFBCBCBC"/> 

      <Grid Grid.Column="2" Name="RTChartGrid"> 
       <-- CUT --> 

      </Grid> 


     </Grid> 

回答

0

我簡單地連接一個加載處理程序的數據網格和所有的附加列的設定爲0的寬度,使它們隱藏。