Skip to content

Commit 3dc67c2

Browse files
authored
Merge pull request #7994 from robloo/datagrid-template-parts
Add TemplatePart attributes for DataGrid controls
2 parents 578de7e + 26e2194 commit 3dc67c2

File tree

5 files changed

+21
-0
lines changed

5 files changed

+21
-0
lines changed

src/Avalonia.Controls.DataGrid/DataGrid.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,14 @@ namespace Avalonia.Controls
3232
/// <summary>
3333
/// Displays data in a customizable grid.
3434
/// </summary>
35+
[TemplatePart(DATAGRID_elementBottomRightCornerHeaderName, typeof(IVisual))]
36+
[TemplatePart(DATAGRID_elementColumnHeadersPresenterName, typeof(DataGridColumnHeadersPresenter))]
37+
[TemplatePart(DATAGRID_elementFrozenColumnScrollBarSpacerName, typeof(Control))]
38+
[TemplatePart(DATAGRID_elementHorizontalScrollbarName, typeof(ScrollBar))]
39+
[TemplatePart(DATAGRID_elementRowsPresenterName, typeof(DataGridRowsPresenter))]
40+
[TemplatePart(DATAGRID_elementTopLeftCornerHeaderName, typeof(ContentControl))]
41+
[TemplatePart(DATAGRID_elementTopRightCornerHeaderName, typeof(ContentControl))]
42+
[TemplatePart(DATAGRID_elementVerticalScrollbarName, typeof(ScrollBar))]
3543
[PseudoClasses(":invalid", ":empty-rows", ":empty-columns")]
3644
public partial class DataGrid : TemplatedControl
3745
{

src/Avalonia.Controls.DataGrid/DataGridCell.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ namespace Avalonia.Controls
1313
/// <summary>
1414
/// Represents an individual <see cref="T:Avalonia.Controls.DataGrid" /> cell.
1515
/// </summary>
16+
[TemplatePart(DATAGRIDCELL_elementRightGridLine, typeof(Rectangle))]
1617
[PseudoClasses(":selected", ":current", ":edited", ":invalid")]
1718
public class DataGridCell : ContentControl
1819
{

src/Avalonia.Controls.DataGrid/DataGridRow.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ namespace Avalonia.Controls
2121
/// <summary>
2222
/// Represents a <see cref="T:Avalonia.Controls.DataGrid" /> row.
2323
/// </summary>
24+
[TemplatePart(DATAGRIDROW_elementBottomGridLine, typeof(Rectangle))]
25+
[TemplatePart(DATAGRIDROW_elementCells, typeof(DataGridCellsPresenter))]
26+
[TemplatePart(DATAGRIDROW_elementDetails, typeof(DataGridDetailsPresenter))]
27+
[TemplatePart(DATAGRIDROW_elementRoot, typeof(Panel))]
28+
[TemplatePart(DATAGRIDROW_elementRowHeader, typeof(DataGridRowHeader))]
2429
[PseudoClasses(":selected", ":editing", ":invalid")]
2530
public class DataGridRow : TemplatedControl
2631
{

src/Avalonia.Controls.DataGrid/DataGridRowGroupHeader.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@
1414

1515
namespace Avalonia.Controls
1616
{
17+
[TemplatePart(DATAGRIDROWGROUPHEADER_expanderButton, typeof(ToggleButton))]
18+
[TemplatePart(DATAGRIDROWGROUPHEADER_indentSpacer, typeof(Control))]
19+
[TemplatePart(DATAGRIDROWGROUPHEADER_itemCountElement, typeof(TextBlock))]
20+
[TemplatePart(DATAGRIDROWGROUPHEADER_propertyNameElement, typeof(TextBlock))]
21+
[TemplatePart(DataGridRow.DATAGRIDROW_elementRoot, typeof(Panel))]
22+
[TemplatePart(DataGridRow.DATAGRIDROW_elementRowHeader, typeof(DataGridRowHeader))]
1723
[PseudoClasses(":pressed", ":current", ":expanded")]
1824
public class DataGridRowGroupHeader : TemplatedControl
1925
{

src/Avalonia.Controls.DataGrid/DataGridRowHeader.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ namespace Avalonia.Controls.Primitives
1313
/// <summary>
1414
/// Represents an individual <see cref="T:Avalonia.Controls.DataGrid" /> row header.
1515
/// </summary>
16+
[TemplatePart(DATAGRIDROWHEADER_elementRootName, typeof(Control))]
1617
[PseudoClasses(":invalid", ":selected", ":editing", ":current")]
1718
public class DataGridRowHeader : ContentControl
1819
{

0 commit comments

Comments
 (0)