Как получить окно, которому принадлежит 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() где надо .