diff --git a/demo/Semi.Avalonia.Demo/Pages/DataGridDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/DataGridDemo.axaml
index a007c29..7f9d2b0 100644
--- a/demo/Semi.Avalonia.Demo/Pages/DataGridDemo.axaml
+++ b/demo/Semi.Avalonia.Demo/Pages/DataGridDemo.axaml
@@ -8,21 +8,6 @@
d:DesignHeight="450"
d:DesignWidth="800"
mc:Ignorable="d">
-
-
-
-
-
-
-
-
-
-
-
@@ -65,7 +50,6 @@
MinWidth="200"
x:DataType="local:Country"
Binding="{Binding GDP}"
- CellTheme="{StaticResource GdpCell}"
Header="GDP"
IsVisible="{Binding #ShowGDP.IsChecked}" />
@@ -126,11 +110,9 @@
@@ -138,11 +120,28 @@
-
+
+
+
+
+
+
@@ -186,7 +185,7 @@
diff --git a/demo/Semi.Avalonia.Demo/Pages/DataGridDemo.axaml.cs b/demo/Semi.Avalonia.Demo/Pages/DataGridDemo.axaml.cs
index 1cdc44b..31caf37 100644
--- a/demo/Semi.Avalonia.Demo/Pages/DataGridDemo.axaml.cs
+++ b/demo/Semi.Avalonia.Demo/Pages/DataGridDemo.axaml.cs
@@ -9,6 +9,8 @@ using Avalonia.Collections;
using Avalonia.Controls;
using Avalonia.Controls.Primitives;
using Avalonia.Data;
+using Avalonia.Input;
+using Avalonia.Input.Raw;
using Avalonia.Markup.Xaml;
using Avalonia.Threading;
@@ -19,7 +21,6 @@ public partial class DataGridDemo : UserControl
public DataGridDemo()
{
InitializeComponent();
-
var dataGridSortDescription = DataGridSortDescription.FromPath(nameof(Country.Region), ListSortDirection.Ascending, new ReversedStringComparer());
var collectionView1 = new DataGridCollectionView(Countries.All);
collectionView1.SortDescriptions.Add(dataGridSortDescription);
diff --git a/src/Semi.Avalonia.DataGrid/Dark.axaml b/src/Semi.Avalonia.DataGrid/Dark.axaml
index 9017e8d..1814448 100644
--- a/src/Semi.Avalonia.DataGrid/Dark.axaml
+++ b/src/Semi.Avalonia.DataGrid/Dark.axaml
@@ -1,3 +1,43 @@
+
+
+ 12 0
+
+
+
+
+ 32
+ 1
+ 1
+
+
+
+
+ 12 0 0 0
+ 32
+
+
+
+ M6.45096 8.34102L11.247 2.86102C11.3408 2.75361 11.4566 2.66753 11.5865 2.60854C11.7163 2.54956 11.8573 2.51904 12 2.51904C12.1426 2.51904 12.2836 2.54956 12.4135 2.60854C12.5433 2.66753 12.6591 2.75361 12.753 2.86102L17.549 8.34102C18.115 8.98802 17.655 10 16.796 10H7.20396C6.34396 10 5.88496 8.98802 6.45096 8.34102Z
+ M17.549 15.659L12.753 21.139C12.6591 21.2464 12.5434 21.3325 12.4135 21.3915C12.2836 21.4505 12.1427 21.481 12 21.481C11.8574 21.481 11.7164 21.4505 11.5865 21.3915C11.4566 21.3325 11.3409 21.2464 11.247 21.139L6.45101 15.659C5.88501 15.011 6.34501 14 7.20401 14H16.796C17.656 14 18.115 15.012 17.549 15.659Z
+
+
+ 8 0
+
+
+
+
+
+
+
+
+ M7.43934 19.7957C6.85355 19.2099 6.85355 18.2601 7.43934 17.6744L13.0962 12.0175L7.43934 6.36065C6.85355 5.77486 6.85355 4.82511 7.43934 4.23933C8.02513 3.65354 8.97487 3.65354 9.56066 4.23933L16.2782 10.9568C16.864 11.5426 16.864 12.4924 16.2782 13.0782L9.56066 19.7957C8.97487 20.3815 8.02513 20.3815 7.43934 19.7957Z
+
+
+
+
+ 1
+
+
diff --git a/src/Semi.Avalonia.DataGrid/DataGrid.axaml b/src/Semi.Avalonia.DataGrid/DataGrid.axaml
index da53994..0ca109b 100644
--- a/src/Semi.Avalonia.DataGrid/DataGrid.axaml
+++ b/src/Semi.Avalonia.DataGrid/DataGrid.axaml
@@ -4,7 +4,7 @@
xmlns:collections="using:Avalonia.Collections">
-
+
@@ -20,11 +20,10 @@
-
+
-
-
+
@@ -35,7 +34,6 @@
BorderThickness="{TemplateBinding BorderThickness}"
CornerRadius="{TemplateBinding CornerRadius}">
-
-
+
-
-
+ Stroke="{DynamicResource DataGridCellFocusBorderBrush}"
+ StrokeThickness="{DynamicResource DataGridCellVisualStrokeThickness}" />
+
+ Stroke="{DynamicResource DataGridCellErrorBrush}"
+ StrokeThickness="{DynamicResource DataGridCellVisualStrokeThickness}" />
+ Fill="{DynamicResource DataGridLineBrush}" />
@@ -99,7 +90,7 @@
-
-
-
@@ -220,14 +194,14 @@
@@ -236,7 +210,7 @@
-
+
@@ -252,18 +226,19 @@
@@ -286,7 +263,7 @@
-
+
+ Fill="{DynamicResource DataGridRowBackground}" />
+ Background="{DynamicResource DataGridDetailsPresenterBackground}" />
-
@@ -344,83 +320,75 @@
-
+
+
-
-
+
-
-
+ Background="Transparent"
+ Data="{DynamicResource DataGridRowGroupHeaderExpandIconGlyph}"
+ Foreground="{DynamicResource DataGridRowGroupHeaderExpandIconForeground}">
+
+
+
+
+
+
-
-
-
-
+
-
+
-
-
+
-
+ Theme="{StaticResource DataGridRowGroupExpanderButtonTheme}" />
-
+
-
-
+ Stroke="{DynamicResource DataGridCellFocusBorderBrush}"
+ StrokeThickness="{DynamicResource DataGridCellVisualStrokeThickness}" />
+
+ Height="1"
+ Fill="{DynamicResource DataGridLineBrush}" />
@@ -495,15 +462,15 @@
-
-
+
+
-
+
-
+
+ Fill="{DynamicResource DataGridLineBrush}" />
diff --git a/src/Semi.Avalonia.DataGrid/Index.axaml b/src/Semi.Avalonia.DataGrid/Index.axaml
index 86fd188..8c433bb 100644
--- a/src/Semi.Avalonia.DataGrid/Index.axaml
+++ b/src/Semi.Avalonia.DataGrid/Index.axaml
@@ -2,6 +2,10 @@
+
+
+
+
diff --git a/src/Semi.Avalonia.DataGrid/Light.axaml b/src/Semi.Avalonia.DataGrid/Light.axaml
index 9017e8d..7c29b49 100644
--- a/src/Semi.Avalonia.DataGrid/Light.axaml
+++ b/src/Semi.Avalonia.DataGrid/Light.axaml
@@ -1,3 +1,43 @@
+
+
+ 12 0
+
+
+
+
+ 32
+ 1
+ 1
+
+
+
+
+ 12 0 0 0
+ 32
+
+
+
+ M6.45096 8.34102L11.247 2.86102C11.3408 2.75361 11.4566 2.66753 11.5865 2.60854C11.7163 2.54956 11.8573 2.51904 12 2.51904C12.1426 2.51904 12.2836 2.54956 12.4135 2.60854C12.5433 2.66753 12.6591 2.75361 12.753 2.86102L17.549 8.34102C18.115 8.98802 17.655 10 16.796 10H7.20396C6.34396 10 5.88496 8.98802 6.45096 8.34102Z
+ M17.549 15.659L12.753 21.139C12.6591 21.2464 12.5434 21.3325 12.4135 21.3915C12.2836 21.4505 12.1427 21.481 12 21.481C11.8574 21.481 11.7164 21.4505 11.5865 21.3915C11.4566 21.3325 11.3409 21.2464 11.247 21.139L6.45101 15.659C5.88501 15.011 6.34501 14 7.20401 14H16.796C17.656 14 18.115 15.012 17.549 15.659Z
+
+
+ 8 0
+
+
+
+
+
+
+
+
+ M7.43934 19.7957C6.85355 19.2099 6.85355 18.2601 7.43934 17.6744L13.0962 12.0175L7.43934 6.36065C6.85355 5.77486 6.85355 4.82511 7.43934 4.23933C8.02513 3.65354 8.97487 3.65354 9.56066 4.23933L16.2782 10.9568C16.864 11.5426 16.864 12.4924 16.2782 13.0782L9.56066 19.7957C8.97487 20.3815 8.02513 20.3815 7.43934 19.7957Z
+
+
+
+
+ 1
+
+