1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-13 05:48:35 +00:00
Artemis/src/Avalonia/Artemis.UI/ViewLocator.cs
Robert 4c5c785aa6 Meta - Updated Nuget packages
Settings - Changed where panels start scrolling
Home - Clip cards to bounds
Sidebar - Added category creation/renaming
Debugger - Fixed existing window focus
Tray icon - Implemented all functionality
2021-11-27 23:02:02 +01:00

28 lines
741 B
C#

using System;
using Avalonia.Controls;
using Avalonia.Controls.Templates;
using ReactiveUI;
namespace Artemis.UI
{
public class ViewLocator : IDataTemplate
{
public bool SupportsRecycling => false;
public IControl Build(object data)
{
Type dataType = data.GetType();
string name = dataType.FullName!.Split('`')[0].Replace("ViewModel", "View");
Type? type = dataType.Assembly.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 ReactiveObject;
}
}
}