Files
serein-flow/Serein.Workbench.Avalonia/DataTemplates/NodeMethodParameterInfoDataTemplate.cs
2025-01-01 17:49:48 +08:00

40 lines
1.1 KiB
C#

using Avalonia.Controls;
using Avalonia;
using Avalonia.Controls.Templates;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Serein.Library;
using Serein.Workbench.Avalonia.Custom.Views;
using Serein.Workbench.Avalonia.Custom.ViewModels;
namespace Serein.Workbench.Avalonia.DataTemplates
{
internal class NodeMethodParameterInfoDataTemplate : IDataTemplate
{
public Control Build(object param)
{
if (param is ParameterDetails mdInfo)
{
var viewModel = new ParameterDetailsViewModel(mdInfo);
var view = new ParameterDetailsInfoView(viewModel);
return view;
}
else
{
var textBlock = new TextBlock() { Text = $"Binding 类型不为预期的[MethodDetailsInfo],而是[{param?.GetType()}]" };
textBlock.Margin = new Thickness(1d, -4d, 1d, -4d);
return textBlock;
}
}
public bool Match(object data)
{
return data is ParameterDetails;
}
}
}