diff --git a/src/Devolutions.AvaloniaControls/Controls/GroupedTileListBox/GroupedTileListBox.axaml b/src/Devolutions.AvaloniaControls/Controls/GroupedTileListBox/GroupedTileListBox.axaml index 109894c9..169faef3 100644 --- a/src/Devolutions.AvaloniaControls/Controls/GroupedTileListBox/GroupedTileListBox.axaml +++ b/src/Devolutions.AvaloniaControls/Controls/GroupedTileListBox/GroupedTileListBox.axaml @@ -2,13 +2,6 @@ xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> - - - - @@ -48,11 +41,7 @@ scrolls with content and never intercepts pointer input. --> - + diff --git a/src/Devolutions.AvaloniaControls/Controls/GroupedTileListBox/GroupedTileListBox.axaml.cs b/src/Devolutions.AvaloniaControls/Controls/GroupedTileListBox/GroupedTileListBox.axaml.cs index 0b8eb232..bec63cc9 100644 --- a/src/Devolutions.AvaloniaControls/Controls/GroupedTileListBox/GroupedTileListBox.axaml.cs +++ b/src/Devolutions.AvaloniaControls/Controls/GroupedTileListBox/GroupedTileListBox.axaml.cs @@ -21,7 +21,7 @@ namespace Devolutions.AvaloniaControls.Controls; /// Items are displayed in a wrapping grid with uniform tile sizes. /// [TemplatePart("PART_ScrollViewer", typeof(ScrollViewer), IsRequired = true)] -[TemplatePart("PART_SelectionRectangle", typeof(Border))] +[TemplatePart("PART_SelectionRectangle", typeof(RectangleSelectionMarquee))] [RequiresUnreferencedCode("BindingEvaluator require preserved types")] public class GroupedTileListBox : TemplatedControl { @@ -112,7 +112,7 @@ public class GroupedTileListBox : TemplatedControl private ItemsRepeater? itemsRepeater; private ScrollViewer? scrollViewer; private Control? content; - private Border? selectionRectangle; + private RectangleSelectionMarquee? selectionRectangle; // --- Marquee (drag-to-select rectangle) state --- // Pixels the pointer must travel from the press point before a press becomes a marquee drag @@ -362,7 +362,7 @@ protected override void OnApplyTemplate(TemplateAppliedEventArgs e) this.scrollViewer = e.NameScope.Get("PART_ScrollViewer"); // Optional: templates that omit the marquee overlay simply have no rubber-band visual. - this.selectionRectangle = e.NameScope.Find("PART_SelectionRectangle"); + this.selectionRectangle = e.NameScope.Find("PART_SelectionRectangle"); // Always create ItemsRepeater(s) dynamically in UpdateItemsRepeater this.UpdateItemsRepeater(); diff --git a/src/Devolutions.AvaloniaControls/Controls/RectangleSelectionMarquee.axaml b/src/Devolutions.AvaloniaControls/Controls/RectangleSelectionMarquee.axaml new file mode 100644 index 00000000..a28beab8 --- /dev/null +++ b/src/Devolutions.AvaloniaControls/Controls/RectangleSelectionMarquee.axaml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Devolutions.AvaloniaControls/Controls/RectangleSelectionMarquee.axaml.cs b/src/Devolutions.AvaloniaControls/Controls/RectangleSelectionMarquee.axaml.cs new file mode 100644 index 00000000..73dc790b --- /dev/null +++ b/src/Devolutions.AvaloniaControls/Controls/RectangleSelectionMarquee.axaml.cs @@ -0,0 +1,5 @@ +using Avalonia.Controls.Primitives; + +namespace Devolutions.AvaloniaControls.Controls; + +public class RectangleSelectionMarquee : TemplatedControl; \ No newline at end of file diff --git a/src/Devolutions.AvaloniaControls/DefaultControlTemplates.axaml b/src/Devolutions.AvaloniaControls/DefaultControlTemplates.axaml index ae59219f..ecbce49d 100644 --- a/src/Devolutions.AvaloniaControls/DefaultControlTemplates.axaml +++ b/src/Devolutions.AvaloniaControls/DefaultControlTemplates.axaml @@ -33,6 +33,8 @@ + + diff --git a/src/Devolutions.AvaloniaTheme.DevExpress/Accents/ThemeResources.axaml b/src/Devolutions.AvaloniaTheme.DevExpress/Accents/ThemeResources.axaml index e5105dae..53b3d93e 100644 --- a/src/Devolutions.AvaloniaTheme.DevExpress/Accents/ThemeResources.axaml +++ b/src/Devolutions.AvaloniaTheme.DevExpress/Accents/ThemeResources.axaml @@ -408,6 +408,12 @@ + + + + + + + + + + @@ -461,6 +467,12 @@ + + + + diff --git a/src/Devolutions.AvaloniaTheme.WinUI/Accents/ThemeResources.axaml b/src/Devolutions.AvaloniaTheme.WinUI/Accents/ThemeResources.axaml index f4e0a18d..09c87933 100644 --- a/src/Devolutions.AvaloniaTheme.WinUI/Accents/ThemeResources.axaml +++ b/src/Devolutions.AvaloniaTheme.WinUI/Accents/ThemeResources.axaml @@ -94,5 +94,12 @@ + + + + +