2013-01-22 85 views
2

我的要求是,我的WPF DataGrid行應該有邊框,但DataGrid標題列不應該有任何邊框。刪除WPF DataGrid標題列的邊框

如果我把DataGrid放在Border元素的內部,那麼整個網格(包括標題列)都會獲取邊框。

我已經設置了GridLinesVisibility =「Horizo​​ntal」。

有沒有什麼辦法只爲網格行有邊框?

謝謝!

編輯

這裏是我使用的XAML代碼..

<Style x:Key="DataGridColumnHeaderHiddenStyle" TargetType="{x:Type DataGridColumnHeader}"> 
      <Setter Property="Height" Value="15" />    
      <Setter Property="BorderBrush" Value="Transparent"/>    
     </Style> 

<StackPanel> 
      <ScrollViewer MaxHeight="175" VerticalScrollBarVisibility="Auto"> 
       <DataGrid ItemsSource="{Binding SelectedItemsCollectionView}" 
         CellStyle="{StaticResource CellStyle}" GridLinesVisibility="Horizontal" HorizontalGridLinesBrush="{StaticResource GridBorderBrush}" ClipToBounds="True" AllowDrop="True" 
           ScrollViewer.CanContentScroll="True" 
           ScrollViewer.VerticalScrollBarVisibility="Auto" 
           ScrollViewer.HorizontalScrollBarVisibility="Disabled" 

          x:Name="selectedItemsGrid"> 


        <DataGrid.ItemContainerStyle> 
         <Style TargetType="{x:Type DataGridRow}"> 
          <Setter Property="AllowDrop" Value="True" /> 
         </Style> 
        </DataGrid.ItemContainerStyle> 
        <DataGrid.Columns> 
         <DataGridTextColumn Binding="{Binding Path=Name}"> 
          <DataGridTextColumn.ElementStyle> 
           <Style TargetType="TextBlock"> 
            <Setter Property="TextAlignment" Value="Center" /> 
           </Style> 
          </DataGridTextColumn.ElementStyle> 
         </DataGridTextColumn> 
        </DataGrid.Columns> 
        <DataGrid.Style> 
         <Style TargetType="DataGrid"> 
          <Setter Property="HeadersVisibility" Value="Column" /> 
          <Setter Property="ColumnHeaderStyle" Value="{StaticResource DataGridColumnHeaderHiddenStyle}" /> 
         </Style> 
        </DataGrid.Style> 
       </DataGrid> 
      </ScrollViewer> 
     </StackPanel> 

回答

1

您可以設置樣式爲DataGridColumnHeader,並設置SeparatorBrush透明。這似乎刪除列分隔符還:

<Style TargetType="{x:Type DataGridColumnHeader}"> 
    <Setter Property="SeparatorBrush" Value="Transparent" /> 
</Style> 
+0

我試過這個。但它不適合我。網格仍然在列標題行周圍顯示邊框。 – Sambhaji

+0

有什麼變化嗎?標題分隔符是否仍然可見?請張貼一些代碼,因爲它適用於我。 – Natxo

+0

是的。列標題分隔符現在不可見。但是網格標題行周圍的邊框仍然可見。我發佈了xaml代碼。 – Sambhaji