diff --git a/src/Views/CommitBaseInfo.axaml.cs b/src/Views/CommitBaseInfo.axaml.cs index f78ec9dff..ee6fba460 100644 --- a/src/Views/CommitBaseInfo.axaml.cs +++ b/src/Views/CommitBaseInfo.axaml.cs @@ -106,12 +106,16 @@ private async void OnOpenContainsIn(object sender, RoutedEventArgs e) { if (DataContext is ViewModels.CommitDetail detail && sender is Button button) { + var containsIn = await detail.GetRefsContainsThisCommitAsync(); + if (containsIn is not { Count: > 0 } || !button.IsEffectivelyVisible) + return; + var tracking = new CommitRelationTracking(); + tracking.SetData(containsIn); + var flyout = new Flyout(); flyout.Content = tracking; flyout.ShowAt(button); - - await tracking.SetDataAsync(detail); } e.Handled = true; diff --git a/src/Views/CommitRelationTracking.axaml b/src/Views/CommitRelationTracking.axaml index 53906bfe3..420b0721d 100644 --- a/src/Views/CommitRelationTracking.axaml +++ b/src/Views/CommitRelationTracking.axaml @@ -3,7 +3,6 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="using:SourceGit.Models" - xmlns:v="using:SourceGit.Views" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" x:Class="SourceGit.Views.CommitRelationTracking"> @@ -30,7 +29,5 @@ - - diff --git a/src/Views/CommitRelationTracking.axaml.cs b/src/Views/CommitRelationTracking.axaml.cs index ff3e85469..15129a2a4 100644 --- a/src/Views/CommitRelationTracking.axaml.cs +++ b/src/Views/CommitRelationTracking.axaml.cs @@ -1,4 +1,4 @@ -using System.Threading.Tasks; +using System.Collections.Generic; using Avalonia.Controls; namespace SourceGit.Views @@ -10,12 +10,9 @@ public CommitRelationTracking() InitializeComponent(); } - public async Task SetDataAsync(ViewModels.CommitDetail detail) + public void SetData(List data) { - LoadingIcon.IsVisible = true; - var containsIn = await detail.GetRefsContainsThisCommitAsync(); - Container.ItemsSource = containsIn; - LoadingIcon.IsVisible = false; + Container.ItemsSource = data; } } }