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) { Model.TreeModel c = (Model.TreeModel)values[0]; 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(); } } }