fix: ensure indicator is visibility upon loaded.

This commit is contained in:
rabbitism
2024-05-16 23:22:43 +08:00
committed by Dong Bin
parent 818c884316
commit a96341498a
2 changed files with 14 additions and 0 deletions

View File

@@ -14,6 +14,7 @@ public partial class SelectionListDemoViewModel: ObservableObject
{
"Ding", "Otter", "Husky", "Mr. 17", "Cass"
};
SelectedItem = Items[0];
}
public void Clear()

View File

@@ -7,6 +7,7 @@ using Avalonia.Controls.Primitives;
using Avalonia.Controls.Selection;
using Avalonia.Controls.Templates;
using Avalonia.Input;
using Avalonia.Interactivity;
using Avalonia.Rendering.Composition;
using Avalonia.Rendering.Composition.Animations;
using Irihi.Avalonia.Shared.Helpers;
@@ -95,6 +96,18 @@ public class SelectionList: SelectingItemsControl
EnsureIndicatorAnimation();
}
protected override void OnLoaded(RoutedEventArgs e)
{
base.OnLoaded(e);
if(_indicator is not null && SelectedItem is not null)
{
var container = ContainerFromItem(SelectedItem);
if (container is null) return;
_indicator.Opacity = 1;
_indicator.Arrange(container.Bounds);
}
}
private void EnsureIndicatorAnimation()
{
if (_indicator is not null)