|
@@ -38,6 +38,9 @@ public partial class AvaloniaDataGrid : UserControl, INotifyPropertyChanged
|
|
|
public static StyledProperty<double> RowHeightProperty =
|
|
|
AvaloniaProperty.Register<AvaloniaDataGrid, double>(nameof(RowHeight), 30);
|
|
|
|
|
|
+ public static StyledProperty<AvaloniaDataGridColumns?> ColumnsProperty =
|
|
|
+ AvaloniaProperty.Register<AvaloniaDataGrid, AvaloniaDataGridColumns?>(nameof(Columns), null);
|
|
|
+
|
|
|
public string SearchText { get; set; } = "";
|
|
|
|
|
|
public bool CanSearch
|
|
@@ -93,6 +96,17 @@ public partial class AvaloniaDataGrid : UserControl, INotifyPropertyChanged
|
|
|
ItemsSourceProperty.Changed.AddClassHandler<AvaloniaDataGrid>(ItemsSource_Changed);
|
|
|
LastUpdatedProperty.Changed.AddClassHandler<AvaloniaDataGrid>(LastUpdated_Changed);
|
|
|
ShowRecordCountProperty.Changed.AddClassHandler<AvaloniaDataGrid>(ShowRecordCount_Changed);
|
|
|
+
|
|
|
+ ColumnsProperty.Changed.AddClassHandler<AvaloniaDataGrid>(ColumnsProperty_Changed);
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void ColumnsProperty_Changed(AvaloniaDataGrid grid, AvaloniaPropertyChangedEventArgs args)
|
|
|
+ {
|
|
|
+ var columns = grid.GetValue(ColumnsProperty);
|
|
|
+ if(columns is not null)
|
|
|
+ {
|
|
|
+ grid.Columns.BeginUpdate().AddRange(columns).EndUpdate();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private static void ShowRecordCount_Changed(AvaloniaDataGrid grid, AvaloniaPropertyChangedEventArgs args)
|