Files
Ursa.Avalonia/demo/Ursa.Demo/TemplateSelectors/TimelineIconTemplateSelector.cs
2023-12-27 01:27:07 +08:00

30 lines
666 B
C#

using Avalonia.Controls;
using Avalonia.Controls.Shapes;
using Avalonia.Controls.Templates;
using Avalonia.Media;
using Ursa.Controls;
namespace Ursa.Demo.TemplateSelectors;
public class TimelineIconTemplateSelector: ResourceDictionary, IDataTemplate
{
public Control? Build(object? param)
{
if (param is TimelineItemType t)
{
string s = t.ToString();
if (ContainsKey(s))
{
object? o = this[s];
if (o is Control c) return c;
}
}
return null;
}
public bool Match(object? data)
{
return data is TimelineItemType;
}
}