Как получить окно, которому принадлежит UserControl на avalonia?

Я пытаюсь открыть диалоговое окно из кастомного UserControl, для его открытия необходимо текущее окно. Как я могу получить окно для UserControl? Код во View UserControl, в котором я пытаюсь получить окно, которому принадлежит этот UserControl. Но мне не очень нравится этот вариант.

  private async Task ShowDialogAsync(InteractionContext<FilterGhartsViewModel,
                                  bool> interaction)
  {
      var dialog = new FilterGharts
      {
          DataContext = interaction.Input
      };
      var window = this.GetVisualRoot();
      var result = await dialog.ShowDialog<bool>((Window)window);
  } 

Ответы (1 шт):

Автор решения: Bob

Вроде в примерах есть

private Window GetWindow() =>
    TopLevel.GetTopLevel(this) as Window ?? throw new NullReferenceException("Invalid Owner");

должно быть в UserControl , потом делаем GetWindow() где надо .

→ Ссылка