009_DI-Elec/newFront/c#前端/SWS.CAD/Helper/Converter/SelectedItemToBoolConverter.cs

112 lines
4.0 KiB
C#
Raw Normal View History

2025-08-15 16:34:31 +08:00
using System;
using System.Globalization;
using System.Windows.Data;
namespace SWS.CAD.Helper.Converter
{
internal class SelectedItemToBoolConverter : IMultiValueConverter
{
object IMultiValueConverter.Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if (values[0] != null)
{
2025-09-04 18:28:02 +08:00
Model.TreeModel c = (Model.TreeModel)values[0];
2025-08-15 16:34:31 +08:00
dynamic dynamicObj = c.NodeExtData;
string PanelIDValue = dynamicObj.PanelID;
if (c.NodeType.Equals("0"))
{
switch (values[1].ToString())
{
case "新增位置":
return true;
case "新建端子排":
return false;
case "修改位置,端子排信息":
return true;
case "删除节点":
return true;
case "选择位号关联通道":
return false;
case "选择电缆关联通道":
return false;
case "解除电缆关联通道":
return false;
case "新增端子排通道":
return false;
case "删除端子排通道":
return false;
}
}
else if (c.NodeType.Equals("1") && c.ID.Equals(PanelIDValue))
{
switch (values[1].ToString())
{
case "新增位置":
return false;
case "新建端子排":
return true;
case "修改位置,端子排信息":
return false;
case "删除节点":
return false;
case "选择位号关联通道":
return false;
case "选择电缆关联通道":
return false;
case "解除电缆关联通道":
return false;
case "新增端子排通道":
return false;
case "删除端子排通道":
return false;
}
}
else if(c.NodeType.Equals("1") && c.parentId.Equals(PanelIDValue))
{
switch (values[1].ToString())
{
case "新增位置":
return false;
case "新建端子排":
return false;
case "修改位置,端子排信息":
return true;
case "删除节点":
return true;
case "选择位号关联通道":
return true;
case "选择电缆关联通道":
return true;
case "解除电缆关联通道":
return true;
case "新增端子排通道":
return true;
case "删除端子排通道":
return true;
}
}
}
else
{
return false;
}
return false;
}
object[] IMultiValueConverter.ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}