@WSGlebKavash

Как реализовать навигацию в Avalonia?

В WPF и Xamarin есть элемент <Page> и система навигации для приложений с несколькими представлениями. В Unity удобный переход между сценами.
В Avalonia я не нашёл ничего близко похожего на страницы. Модальные окна можно делать, но как реализовать разные представления внутри одного окна?
Какие есть альтернативы <Page> в Avalonia? Как реализовать постраничную навигацию?
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ответы на вопрос 1
В документации есть буквально отдельный пункт "How to implement multi page apps"
https://docs.avaloniaui.net/docs/guides/developmen...
public class ViewLocator : IDataTemplate
{
    public Control? Build(object? data)
    {
        if (data==null) return null;
        var name = data.GetType().FullName!.Replace("ViewModel", "View");
        var type = Type.GetType(name);

        if (type != null)
        {
            return (Control)Activator.CreateInstance(type)!;
        }

        return new TextBlock { Text = "Not Found: " + name };
    }

    public bool Match(object? data)
    {
        return data is ViewModelBase;
    }
}

Написано, что это уже показано в шаблоне с MVVM
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы