Explorar el Código

Avalonia: Added Activate and Deactive methods to Popup

Kenric Nugteren hace 4 meses
padre
commit
ac117c9246
Se han modificado 1 ficheros con 4 adiciones y 0 borrados
  1. 4 0
      InABox.Avalonia/Navigation/Navigation.cs

+ 4 - 0
InABox.Avalonia/Navigation/Navigation.cs

@@ -57,6 +57,7 @@ public static class Navigation
     public static async Task<object?> Popup<T>(T viewModel, bool canTapAway = true)
         where T : IViewModelBase, IPopupViewModel
     {
+        await viewModel.Activate();
         var _result = await DialogHostAvalonia.DialogHost.Show(viewModel, (object sender, DialogClosingEventArgs eventArgs) =>
         {
             if(!canTapAway && !viewModel.IsClosed)
@@ -64,6 +65,7 @@ public static class Navigation
                 eventArgs.Cancel();
             }
         });
+        await viewModel.Deactivate();
         return _result;
     }
 
@@ -77,6 +79,7 @@ public static class Navigation
     public static async Task<TResult?> Popup<T, TResult>(T viewModel, bool canTapAway = true)
         where T : IViewModelBase, IPopupViewModel<TResult>
     {
+        await viewModel.Activate();
         var _result = await DialogHostAvalonia.DialogHost.Show(viewModel, (object sender, DialogClosingEventArgs eventArgs) =>
         {
             if(!canTapAway && !viewModel.IsClosed)
@@ -84,6 +87,7 @@ public static class Navigation
                 eventArgs.Cancel();
             }
         });
+        await viewModel.Deactivate();
         return viewModel.GetResult();
     }