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