WPF Datagrid control the gap between the first row and first column

Original: the WPF the Datagrid control the gap between the first row and first column

This location is here

We change the template DataGridControltemplate

Look inside the tree structure is a BUtton

Select function is able to find it can directly get rid of

 


  
  
  1. <ControlTemplate x:Key= "DataGridControlTemplate1" TargetType= "{x:Type DataGrid}">
  2. <Border BorderBrush= "{TemplateBinding BorderBrush}" BorderThickness= "{TemplateBinding BorderThickness}" Background= "{TemplateBinding Background}" Padding= "{TemplateBinding Padding}" SnapsToDevicePixels= "True">
  3. <ScrollViewer x:Name= "DG_ScrollViewer" Focusable= "False">
  4. <ScrollViewer.Template>
  5. <ControlTemplate TargetType= "{x:Type ScrollViewer}">
  6. <Grid>
  7. <Grid.ColumnDefinitions>
  8. <ColumnDefinition Width= "Auto"/>
  9. <ColumnDefinition Width= "*"/>
  10. <ColumnDefinition Width= "Auto"/>
  11. </Grid.ColumnDefinitions>
  12. <Grid.RowDefinitions>
  13. <RowDefinition Height= "Auto"/>
  14. <RowDefinition Height= "*"/>
  15. <RowDefinition Height= "Auto"/>
  16. </Grid.RowDefinitions>
  17. <Button Width= "208" Height= "125.917" Command= "ApplicationCommands.SelectAll" Focusable= "False" Style= "{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}}">
  18. <Button.Visibility>
  19. <Binding Path= "HeadersVisibility" RelativeSource= "{RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type DataGrid}}">
  20. <Binding.ConverterParameter>
  21. <DataGridHeadersVisibility>All</DataGridHeadersVisibility>
  22. </Binding.ConverterParameter>
  23. </Binding>
  24. </Button.Visibility>
  25. </Button>
  26. <DataGridColumnHeadersPresenter x:Name= "PART_ColumnHeadersPresenter" Grid.Column= "1">
  27. <DataGridColumnHeadersPresenter.Visibility>
  28. <Binding Path= "HeadersVisibility" RelativeSource= "{RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type DataGrid}}">
  29. <Binding.ConverterParameter>
  30. <DataGridHeadersVisibility>Column</DataGridHeadersVisibility>
  31. </Binding.ConverterParameter>
  32. </Binding>
  33. </DataGridColumnHeadersPresenter.Visibility>
  34. </DataGridColumnHeadersPresenter>
  35. <ScrollContentPresenter x:Name= "PART_ScrollContentPresenter" CanContentScroll= "{TemplateBinding CanContentScroll}" CanHorizontallyScroll= "False" Grid.ColumnSpan= "2" CanVerticallyScroll= "False" ContentTemplate= "{TemplateBinding ContentTemplate}" Content= "{TemplateBinding Content}" ContentStringFormat= "{TemplateBinding ContentStringFormat}" Grid.Row= "1"/>
  36. <ScrollBar x:Name= "PART_VerticalScrollBar" Grid.Column= "2" Maximum= "{TemplateBinding ScrollableHeight}" Orientation= "Vertical" Grid.Row= "1" Visibility= "{TemplateBinding ComputedVerticalScrollBarVisibility}" Value= "{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize= "{TemplateBinding ViewportHeight}"/>
  37. <Grid Grid.Column= "1" Grid.Row= "2">
  38. <Grid.ColumnDefinitions>
  39. <ColumnDefinition Width= "{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type DataGrid}}}"/>
  40. <ColumnDefinition Width= "*"/>
  41. </Grid.ColumnDefinitions>
  42. <ScrollBar x:Name= "PART_HorizontalScrollBar" Grid.Column= "1" Maximum= "{TemplateBinding ScrollableWidth}" Orientation= "Horizontal" Visibility= "{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value= "{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize= "{TemplateBinding ViewportWidth}"/>
  43. </Grid>
  44. </Grid>
  45. </ControlTemplate>
  46. </ScrollViewer.Template>
  47. <ItemsPresenter SnapsToDevicePixels= "{TemplateBinding SnapsToDevicePixels}"/>
  48. </ScrollViewer>
  49. </Border>
  50. </ControlTemplate>

 

This can be changed


  
  
  1. <Button Width= "208" Height= "125.917" Command= "ApplicationCommands.SelectAll" Focusable= "False" Style= "{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}}">
  2. <Button.Visibility>
  3. <Binding Path= "HeadersVisibility" RelativeSource= "{RelativeSource FindAncestor, AncestorLevel=1, AncestorType={x:Type DataGrid}}">
  4. <Binding.ConverterParameter>
  5. <DataGridHeadersVisibility>All</DataGridHeadersVisibility>
  6. </Binding.ConverterParameter>
  7. </Binding>
  8. </Button.Visibility>
  9. </Button>

Guess you like

Origin www.cnblogs.com/lonelyxmas/p/12075413.html