Files
aistudio-wpf-diagram/AIStudio.Wpf.DiagramDesigner/Converters/ConectorValueConverter.cs
2023-04-26 22:53:44 +08:00

56 lines
2.0 KiB
C#

using AIStudio.Wpf.DiagramDesigner;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Data;
using System.Windows.Media;
using System.Windows.Media.Imaging;
namespace AIStudio.Wpf.DiagramDesigner
{
public class ConectorValueConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (values[0] is LogicalConnectorInfo logicalConnectorInfo)
{
if (logicalConnectorInfo.ErrorCode != Enums.ConnectorErrorCode.None)
{
if (parameter?.ToString() == "ToolTip")
{
return logicalConnectorInfo.ErrorMessage;
}
else
{
return logicalConnectorInfo.ErrorCode.ToString();
}
}
else if (logicalConnectorInfo.ConnectorValueType == ConnectorValueType.Bool)
{
return (logicalConnectorInfo.ConnectorValue == 0) ? "F" : "T";
}
else if (logicalConnectorInfo.ConnectorValueType == ConnectorValueType.Int)
{
return logicalConnectorInfo.ConnectorValue.ToString("0");
}
else if (logicalConnectorInfo.ConnectorValueType == ConnectorValueType.Real)
{
return logicalConnectorInfo.ConnectorValue.ToString("f3");
}
else
{
return logicalConnectorInfo.ConnectorString;
}
}
return null;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
}