Browse Source
Merge branch 'master' into fix_space_key_input_on_x11
pull/10038/head
Max Katz
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with
12 additions and
13 deletions
-
src/Avalonia.Controls/Automation/Peers/ListItemAutomationPeer.cs
-
src/Avalonia.Controls/Automation/Peers/SelectingItemsControlAutomationPeer.cs
-
src/Avalonia.Controls/ComboBox.cs
-
src/Avalonia.Controls/MenuBase.cs
-
src/Avalonia.Controls/MenuItem.cs
-
src/Avalonia.Controls/TabControl.cs
-
src/Avalonia.Controls/TreeView.cs
|
|
|
@ -36,7 +36,7 @@ namespace Avalonia.Automation.Peers |
|
|
|
|
|
|
|
if (Owner.Parent is SelectingItemsControl parent) |
|
|
|
{ |
|
|
|
var index = parent.ItemContainerGenerator.IndexFromContainer(Owner); |
|
|
|
var index = parent.IndexFromContainer(Owner); |
|
|
|
|
|
|
|
if (index != -1) |
|
|
|
parent.SelectedIndex = index; |
|
|
|
@ -50,7 +50,7 @@ namespace Avalonia.Automation.Peers |
|
|
|
if (Owner.Parent is ItemsControl parent && |
|
|
|
parent.GetValue(ListBox.SelectionProperty) is ISelectionModel selectionModel) |
|
|
|
{ |
|
|
|
var index = parent.ItemContainerGenerator.IndexFromContainer(Owner); |
|
|
|
var index = parent.IndexFromContainer(Owner); |
|
|
|
|
|
|
|
if (index != -1) |
|
|
|
selectionModel.Select(index); |
|
|
|
|
|
|
|
@ -35,7 +35,7 @@ namespace Avalonia.Automation.Peers |
|
|
|
|
|
|
|
foreach (var i in selection.SelectedIndexes) |
|
|
|
{ |
|
|
|
var container = owner.ItemContainerGenerator.ContainerFromIndex(i); |
|
|
|
var container = owner.ContainerFromIndex(i); |
|
|
|
|
|
|
|
if (container is Control c && c.IsAttachedToVisualTree) |
|
|
|
{ |
|
|
|
|
|
|
|
@ -399,12 +399,12 @@ namespace Avalonia.Controls |
|
|
|
var selectedIndex = SelectedIndex; |
|
|
|
if (IsDropDownOpen && selectedIndex != -1) |
|
|
|
{ |
|
|
|
var container = ItemContainerGenerator.ContainerFromIndex(selectedIndex); |
|
|
|
var container = ContainerFromIndex(selectedIndex); |
|
|
|
|
|
|
|
if (container == null && SelectedIndex != -1) |
|
|
|
{ |
|
|
|
ScrollIntoView(Selection.SelectedIndex); |
|
|
|
container = ItemContainerGenerator.ContainerFromIndex(selectedIndex); |
|
|
|
container = ContainerFromIndex(selectedIndex); |
|
|
|
} |
|
|
|
|
|
|
|
if (container != null && CanFocus(container)) |
|
|
|
|
|
|
|
@ -84,13 +84,13 @@ namespace Avalonia.Controls |
|
|
|
{ |
|
|
|
var index = SelectedIndex; |
|
|
|
return (index != -1) ? |
|
|
|
(IMenuItem?)ItemContainerGenerator.ContainerFromIndex(index) : |
|
|
|
(IMenuItem?)ContainerFromIndex(index) : |
|
|
|
null; |
|
|
|
} |
|
|
|
set |
|
|
|
{ |
|
|
|
SelectedIndex = value is Control c ? |
|
|
|
ItemContainerGenerator.IndexFromContainer(c) : -1; |
|
|
|
IndexFromContainer(c) : -1; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -13,7 +13,6 @@ using Avalonia.Data; |
|
|
|
using Avalonia.Input; |
|
|
|
using Avalonia.Interactivity; |
|
|
|
using Avalonia.LogicalTree; |
|
|
|
using Avalonia.VisualTree; |
|
|
|
|
|
|
|
namespace Avalonia.Controls |
|
|
|
{ |
|
|
|
@ -319,12 +318,12 @@ namespace Avalonia.Controls |
|
|
|
{ |
|
|
|
var index = SelectedIndex; |
|
|
|
return (index != -1) ? |
|
|
|
(IMenuItem?)ItemContainerGenerator.ContainerFromIndex(index) : |
|
|
|
(IMenuItem?)ContainerFromIndex(index) : |
|
|
|
null; |
|
|
|
} |
|
|
|
set |
|
|
|
{ |
|
|
|
SelectedIndex = value is Control c ? ItemContainerGenerator.IndexFromContainer(c) : -1; |
|
|
|
SelectedIndex = value is Control c ? IndexFromContainer(c) : -1; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -691,7 +690,7 @@ namespace Avalonia.Controls |
|
|
|
|
|
|
|
if (selected != -1) |
|
|
|
{ |
|
|
|
var container = ItemContainerGenerator?.ContainerFromIndex(selected); |
|
|
|
var container = ContainerFromIndex(selected); |
|
|
|
container?.Focus(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -195,7 +195,7 @@ namespace Avalonia.Controls |
|
|
|
else |
|
|
|
{ |
|
|
|
var container = SelectedItem as IContentControl ?? |
|
|
|
ItemContainerGenerator.ContainerFromIndex(SelectedIndex) as IContentControl; |
|
|
|
ContainerFromIndex(SelectedIndex) as IContentControl; |
|
|
|
SelectedContentTemplate = container?.ContentTemplate; |
|
|
|
SelectedContent = container?.Content; |
|
|
|
} |
|
|
|
|
|
|
|
@ -575,7 +575,7 @@ namespace Avalonia.Controls |
|
|
|
{ |
|
|
|
var previous = (TreeViewItem)parentItemsControl.ContainerFromIndex(index - 1)!; |
|
|
|
result = previous.IsExpanded && previous.ItemCount > 0 ? |
|
|
|
(TreeViewItem)previous.ItemContainerGenerator.ContainerFromIndex(previous.ItemCount - 1)! : |
|
|
|
(TreeViewItem)previous.ContainerFromIndex(previous.ItemCount - 1)! : |
|
|
|
previous; |
|
|
|
} |
|
|
|
else |
|
|
|
|