/
EugenyCh7
/
AvaloniaRoutingExample
Обзор
Документация
Войти
/
EugenyCh7
/
AvaloniaRoutingExample
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
RoutingExample/ViewLocator.cs
32 строки
763 B
Eugeny Chekmarev
init
23 янв 2025, 17:32
23 янв 2025, 17:32
90f05d8
Код
Авторство
О чём код?
using System; using Avalonia.Controls; using Avalonia.Controls.Templates; using RoutingExample.ViewModels; namespace RoutingExample { public class ViewLocator : IDataTemplate { public Control? Build(object? param) { if (param is null) return null; var name = param.GetType().FullName!.Replace("ViewModel", "View", StringComparison.Ordinal); 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; } } }