From 10ad9eb7ede6218f24b05c5f9b490c520453d0c2 Mon Sep 17 00:00:00 2001 From: Symbai <14368203+Symbai@users.noreply.github.com> Date: Sat, 8 Feb 2020 14:34:32 +0100 Subject: [PATCH 1/6] Update ComboBox.xaml --- src/Avalonia.Themes.Default/ComboBox.xaml | 29 +++++++++++++++-------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/Avalonia.Themes.Default/ComboBox.xaml b/src/Avalonia.Themes.Default/ComboBox.xaml index 1c5c8106d3..ff9985e81e 100644 --- a/src/Avalonia.Themes.Default/ComboBox.xaml +++ b/src/Avalonia.Themes.Default/ComboBox.xaml @@ -40,14 +40,14 @@ StaysOpen="False"> - - + - + @@ -58,7 +58,16 @@ - + + From 10d1412d0c625125efd01d1d26ee8f64bf4a2fbc Mon Sep 17 00:00:00 2001 From: Symbai <14368203+Symbai@users.noreply.github.com> Date: Tue, 11 Feb 2020 14:20:46 +0100 Subject: [PATCH 2/6] Update ComboBox.xaml --- src/Avalonia.Themes.Default/ComboBox.xaml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/Avalonia.Themes.Default/ComboBox.xaml b/src/Avalonia.Themes.Default/ComboBox.xaml index ff9985e81e..2afed09b0c 100644 --- a/src/Avalonia.Themes.Default/ComboBox.xaml +++ b/src/Avalonia.Themes.Default/ComboBox.xaml @@ -4,6 +4,7 @@ + - From 886eee831cd8f454236fb9ae1cb96de2c369a10a Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Wed, 12 Feb 2020 11:47:19 +0100 Subject: [PATCH 3/6] Added failing test for #3426. --- .../Primitives/SelectingItemsControlTests.cs | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs b/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs index 696c0dbf46..004cf009fc 100644 --- a/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs +++ b/tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs @@ -1202,6 +1202,28 @@ namespace Avalonia.Controls.UnitTests.Primitives target.MoveSelection(NavigationDirection.Next, true); } + [Fact] + public void MoveSelection_Does_Select_Disabled_Controls() + { + // Issue #3426. + var target = new TestSelector + { + Template = Template(), + Items = new[] + { + new ListBoxItem(), + new ListBoxItem { IsEnabled = false }, + }, + SelectedIndex = 0, + }; + + target.Measure(new Size(100, 100)); + target.Arrange(new Rect(0, 0, 100, 100)); + target.MoveSelection(NavigationDirection.Next, true); + + Assert.Equal(0, target.SelectedIndex); + } + [Fact] public void Pre_Selecting_Item_Should_Set_Selection_After_It_Was_Added_When_AlwaysSelected() { From e994b855d557c3899be3d7e4c2138d8edab4ceec Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Wed, 12 Feb 2020 11:48:10 +0100 Subject: [PATCH 4/6] Don't consider disabled controls when moving focus. Fixes #3426. --- src/Avalonia.Controls/ItemsControl.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Avalonia.Controls/ItemsControl.cs b/src/Avalonia.Controls/ItemsControl.cs index 4a4daa31f9..ca3c290d7b 100644 --- a/src/Avalonia.Controls/ItemsControl.cs +++ b/src/Avalonia.Controls/ItemsControl.cs @@ -472,7 +472,10 @@ namespace Avalonia.Controls result = container.GetControl(direction, c, wrap); from = from ?? result; - if (result?.Focusable == true) + if (result != null && + result.Focusable && + result.IsEffectivelyEnabled && + result.IsEffectivelyVisible) { return result; } From fa9822b1ef3895f1a848cf8952fc6061501f9fab Mon Sep 17 00:00:00 2001 From: Symbai Date: Wed, 12 Feb 2020 13:11:59 +0000 Subject: [PATCH 5/6] Add Progressbar ShowProgressText property (#3531) --- .../ControlCatalog/Pages/ProgressBarPage.xaml | 8 +- src/Avalonia.Controls/ProgressBar.cs | 9 ++ src/Avalonia.Themes.Default/ProgressBar.xaml | 86 +++++++++++-------- 3 files changed, 67 insertions(+), 36 deletions(-) diff --git a/samples/ControlCatalog/Pages/ProgressBarPage.xaml b/samples/ControlCatalog/Pages/ProgressBarPage.xaml index 39bbf391bb..13bae59805 100644 --- a/samples/ControlCatalog/Pages/ProgressBarPage.xaml +++ b/samples/ControlCatalog/Pages/ProgressBarPage.xaml @@ -6,15 +6,19 @@ A progress bar control + - + - + diff --git a/src/Avalonia.Controls/ProgressBar.cs b/src/Avalonia.Controls/ProgressBar.cs index 753c6e1b71..786f0092a2 100644 --- a/src/Avalonia.Controls/ProgressBar.cs +++ b/src/Avalonia.Controls/ProgressBar.cs @@ -17,6 +17,9 @@ namespace Avalonia.Controls public static readonly StyledProperty IsIndeterminateProperty = AvaloniaProperty.Register(nameof(IsIndeterminate)); + public static readonly StyledProperty ShowProgressTextProperty = + AvaloniaProperty.Register(nameof(ShowProgressText)); + public static readonly StyledProperty OrientationProperty = AvaloniaProperty.Register(nameof(Orientation), Orientation.Horizontal); @@ -51,6 +54,12 @@ namespace Avalonia.Controls set => SetValue(IsIndeterminateProperty, value); } + public bool ShowProgressText + { + get => GetValue(ShowProgressTextProperty); + set => SetValue(ShowProgressTextProperty, value); + } + public Orientation Orientation { get => GetValue(OrientationProperty); diff --git a/src/Avalonia.Themes.Default/ProgressBar.xaml b/src/Avalonia.Themes.Default/ProgressBar.xaml index 72271e785a..d3c2f0c784 100644 --- a/src/Avalonia.Themes.Default/ProgressBar.xaml +++ b/src/Avalonia.Themes.Default/ProgressBar.xaml @@ -1,14 +1,25 @@ @@ -22,42 +33,49 @@ + From da2c7193cca7f6017709a84994d7888ba807f34a Mon Sep 17 00:00:00 2001 From: Symbai Date: Wed, 12 Feb 2020 13:23:59 +0000 Subject: [PATCH 6/6] Add public DataGrid scroll events (#3547) * Update DataGrid.cs * Update DataGrid.cs Co-authored-by: Steven Kirk --- src/Avalonia.Controls.DataGrid/DataGrid.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Avalonia.Controls.DataGrid/DataGrid.cs b/src/Avalonia.Controls.DataGrid/DataGrid.cs index 0083d57960..214132f03c 100644 --- a/src/Avalonia.Controls.DataGrid/DataGrid.cs +++ b/src/Avalonia.Controls.DataGrid/DataGrid.cs @@ -149,6 +149,9 @@ namespace Avalonia.Controls private IEnumerable _items; + public event EventHandler HorizontalScroll; + public event EventHandler VerticalScroll; + /// /// Identifies the CanUserReorderColumns dependency property. /// @@ -4225,6 +4228,7 @@ namespace Avalonia.Controls private void HorizontalScrollBar_Scroll(object sender, ScrollEventArgs e) { ProcessHorizontalScroll(e.ScrollEventType); + HorizontalScroll?.Invoke(sender, e); } private bool IsColumnOutOfBounds(int columnIndex) @@ -5557,6 +5561,7 @@ namespace Avalonia.Controls private void VerticalScrollBar_Scroll(object sender, ScrollEventArgs e) { ProcessVerticalScroll(e.ScrollEventType); + VerticalScroll?.Invoke(sender, e); } //TODO: Ensure left button is checked for