/
ibavca1
/
A4.ControlPost
Обзор
Документация
Войти
/
ibavca1
/
A4.ControlPost
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/A4.ControlPost.UserEditor/ViewLocator.cs
37 строк
1 KB
ibavca
Добавлено окно входа
17 май 2026, 13:57
17 май 2026, 13:57
003bf35
Код
Авторство
О чём код?
using System; using System.Diagnostics.CodeAnalysis; using Avalonia.Controls; using Avalonia.Controls.Templates; using A4.ControlPost.UserEditor.ViewModels; namespace A4.ControlPost.UserEditor; /// <summary> /// Given a view model, returns the corresponding view if possible. /// </summary> [RequiresUnreferencedCode( "Default implementation of ViewLocator involves reflection which may be trimmed away.", Url = "https://docs.avaloniaui.net/docs/concepts/view-locator")] 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; } }