2023-04-13 11:51:03 +08:00
|
|
|
|
using System;
|
|
|
|
|
using System.Globalization;
|
|
|
|
|
using System.Windows.Data;
|
2023-09-20 17:25:51 +08:00
|
|
|
|
using MECF.Framework.Common.Account.Permissions;
|
2023-04-13 11:51:03 +08:00
|
|
|
|
|
2023-05-10 16:21:45 +08:00
|
|
|
|
namespace MECF.Framework.UI.Client.RecipeEditorLib.Converters
|
2023-04-13 11:51:03 +08:00
|
|
|
|
{
|
|
|
|
|
public class ParamValueDisplayConverter : IMultiValueConverter
|
|
|
|
|
{
|
|
|
|
|
public object Convert(object[] value, Type targetType, object parameter, CultureInfo culture)
|
|
|
|
|
{
|
|
|
|
|
// value[0] must be Param.Value
|
2023-06-16 15:48:27 +08:00
|
|
|
|
// value[1] must be Param.Permission
|
2023-09-22 14:58:18 +08:00
|
|
|
|
// value[2] must be Param.IsHideValue
|
|
|
|
|
// value[3] must be Param.HiddenValueMasking
|
|
|
|
|
if (value is not { Length: 4 })
|
2023-04-13 11:51:03 +08:00
|
|
|
|
return value;
|
|
|
|
|
|
2023-09-22 14:58:18 +08:00
|
|
|
|
if (value[1] is MenuPermissionEnum perm && value[2] is bool isHideValue && value[3] is string masking)
|
2023-04-13 11:51:03 +08:00
|
|
|
|
{
|
2023-09-22 14:58:18 +08:00
|
|
|
|
return perm == MenuPermissionEnum.MP_NONE | isHideValue ? masking : value[0].ToString();
|
2023-04-13 11:51:03 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return value[0];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
|
|
|
|
|
{
|
|
|
|
|
throw new NotImplementedException();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|