From fe5d5bca1bfb616c9816891f051e80c4568894a3 Mon Sep 17 00:00:00 2001 From: Dariusz Komosinski Date: Mon, 8 Apr 2019 13:43:49 +0200 Subject: [PATCH 1/3] Make TreeView.SelectionModeProperty public so it can be set from styles. --- src/Avalonia.Controls/TreeView.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Avalonia.Controls/TreeView.cs b/src/Avalonia.Controls/TreeView.cs index 94989254dc..0c9bedfa93 100644 --- a/src/Avalonia.Controls/TreeView.cs +++ b/src/Avalonia.Controls/TreeView.cs @@ -48,7 +48,7 @@ namespace Avalonia.Controls /// /// Defines the property. /// - protected static readonly StyledProperty SelectionModeProperty = + public static readonly StyledProperty SelectionModeProperty = AvaloniaProperty.Register( nameof(SelectionMode)); From ebe92b661975e185c739aaed1481f30520691766 Mon Sep 17 00:00:00 2001 From: Dariusz Komosinski Date: Mon, 8 Apr 2019 13:56:31 +0200 Subject: [PATCH 2/3] Make sure that property is registered on a correct type. --- src/Avalonia.Controls/TreeView.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Avalonia.Controls/TreeView.cs b/src/Avalonia.Controls/TreeView.cs index 0c9bedfa93..2b1aa45dd4 100644 --- a/src/Avalonia.Controls/TreeView.cs +++ b/src/Avalonia.Controls/TreeView.cs @@ -49,7 +49,7 @@ namespace Avalonia.Controls /// Defines the property. /// public static readonly StyledProperty SelectionModeProperty = - AvaloniaProperty.Register( + AvaloniaProperty.Register( nameof(SelectionMode)); private static readonly IList Empty = new object[0]; From cf1401e5f20e2a08ec6b458729822f180d4bbdac Mon Sep 17 00:00:00 2001 From: Dariusz Komosinski Date: Mon, 8 Apr 2019 17:04:26 +0200 Subject: [PATCH 3/3] Use ListBox properties for TreeView implementation. --- src/Avalonia.Controls/ListBox.cs | 4 ++-- src/Avalonia.Controls/TreeView.cs | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/Avalonia.Controls/ListBox.cs b/src/Avalonia.Controls/ListBox.cs index fce568e56d..041b81155a 100644 --- a/src/Avalonia.Controls/ListBox.cs +++ b/src/Avalonia.Controls/ListBox.cs @@ -30,13 +30,13 @@ namespace Avalonia.Controls /// /// Defines the property. /// - public static readonly new AvaloniaProperty SelectedItemsProperty = + public static readonly new DirectProperty SelectedItemsProperty = SelectingItemsControl.SelectedItemsProperty; /// /// Defines the property. /// - public static readonly new AvaloniaProperty SelectionModeProperty = + public static readonly new StyledProperty SelectionModeProperty = SelectingItemsControl.SelectionModeProperty; /// diff --git a/src/Avalonia.Controls/TreeView.cs b/src/Avalonia.Controls/TreeView.cs index 2b1aa45dd4..c3fbce1d83 100644 --- a/src/Avalonia.Controls/TreeView.cs +++ b/src/Avalonia.Controls/TreeView.cs @@ -40,8 +40,7 @@ namespace Avalonia.Controls /// Defines the property. /// public static readonly DirectProperty SelectedItemsProperty = - AvaloniaProperty.RegisterDirect( - nameof(SelectedItems), + ListBox.SelectedItemsProperty.AddOwner( o => o.SelectedItems, (o, v) => o.SelectedItems = v); @@ -49,8 +48,7 @@ namespace Avalonia.Controls /// Defines the property. /// public static readonly StyledProperty SelectionModeProperty = - AvaloniaProperty.Register( - nameof(SelectionMode)); + ListBox.SelectionModeProperty.AddOwner(); private static readonly IList Empty = new object[0]; private object _selectedItem;