Reactor DataGrid

This commit is contained in:
chinboy
2025-10-29 10:58:06 +08:00
parent f61e3c9c5d
commit 755140e55d
10 changed files with 21 additions and 9 deletions
@@ -6,6 +6,7 @@
using System.Diagnostics;
using AtomUI.Controls.Utils;
using AtomUI.Data;
using AtomUI.Utils;
using Avalonia;
using Avalonia.Controls;
using Avalonia.Data;
@@ -44,7 +44,6 @@ public abstract class DataGridCollectionViewGroup : INotifyPropertyChanged
event PropertyChangedEventHandler? INotifyPropertyChanged.PropertyChanged
{
add => PropertyChanged += value;
remove => PropertyChanged -= value;
}
@@ -9,7 +9,7 @@ using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Diagnostics;
using System.Reflection;
using AtomUI.Controls.Utils;
using AtomUI.Utils;
namespace AtomUI.Controls.Data;
@@ -1,5 +1,6 @@
using System.Diagnostics;
using AtomUI.Controls.Utils;
using AtomUI.Utils;
using Avalonia.Collections;
namespace AtomUI.Controls.Data;
@@ -76,4 +77,6 @@ public class DataGridFilterDescription
return null;
}
}
}
public class DataGridFilterDescriptionCollection : AvaloniaList<DataGridFilterDescription> {}
@@ -5,7 +5,7 @@
using System.Diagnostics;
using System.Globalization;
using AtomUI.Controls.Utils;
using AtomUI.Utils;
using Avalonia.Data.Converters;
namespace AtomUI.Controls.Data;
@@ -6,7 +6,7 @@
using System.Collections;
using System.ComponentModel;
using System.Globalization;
using AtomUI.Controls.Utils;
using AtomUI.Utils;
using Avalonia.Collections;
namespace AtomUI.Controls.Data;
@@ -348,4 +348,3 @@ public class DataGridComparerSortDescription : DataGridSortDescription
}
public class DataGridSortDescriptionCollection : AvaloniaList<DataGridSortDescription> {}
public class DataGridFilterDescriptionCollection : AvaloniaList<DataGridFilterDescription> {}
@@ -4,6 +4,7 @@
// All other rights reserved.
using System.Globalization;
using AtomUI.Utils;
using Avalonia.Data.Converters;
namespace AtomUI.Controls.Utils;
@@ -2,7 +2,7 @@ using System.Globalization;
using AtomUI.IconPkg;
using Avalonia.Data.Converters;
namespace AtomUI.Controls.Utils;
namespace AtomUI.Controls.Converters;
internal class ButtonIconVisibleConverter : IMultiValueConverter
{
@@ -1,4 +1,4 @@
using AtomUI.Controls.Utils;
using AtomUI.Controls.Converters;
using Avalonia.Styling;
namespace AtomUI.Controls.Themes;
@@ -26,6 +26,9 @@ internal class SelectHandle : TemplatedControl
public static readonly StyledProperty<bool> IsSelectionEmptyProperty =
AvaloniaProperty.Register<SelectHandle, bool>(nameof(IsSelectionEmpty), true);
public static readonly StyledProperty<bool> IsDropDownOpenProperty =
AvaloniaProperty.Register<SelectHandle, bool>(nameof(IsDropDownOpen), false);
public bool IsInputHover
{
get => GetValue(IsInputHoverProperty);
@@ -62,6 +65,12 @@ internal class SelectHandle : TemplatedControl
set => SetValue(IsSelectionEmptyProperty, value);
}
public bool IsDropDownOpen
{
get => GetValue(IsDropDownOpenProperty);
set => SetValue(IsDropDownOpenProperty, value);
}
public static readonly RoutedEvent<RoutedEventArgs> ClearRequestedEvent =
RoutedEvent.Register<Button, RoutedEventArgs>(nameof(ClearRequested), RoutingStrategies.Bubble);