123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- using System;
- using System.Diagnostics;
- using System.Globalization;
- using System.Windows;
- using System.Windows.Data;
- namespace MECF.Framework.UI.Client.Ctrlib.Converter
- {
- internal class ParameterNodeTreeViewVisibilityMultiBindingConverter : IMultiValueConverter
- {
- public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
- {
- // 如果绑定的参数个数错误,隐藏节点
- if (values.Length != 2)
- {
- Debugger.Break();
- return Visibility.Collapsed;
- }
- if (values[0] is bool isMatch && values[1] is Visibility visibility)
- {
- // 如果设置为隐藏,则无论是否Filter匹配,均隐藏节点
- if (visibility != Visibility.Visible)
- return visibility;
- // 如果设置为显示,则根据Filter是否匹配决定是否显示节点
- if (isMatch == false)
- return Visibility.Collapsed;
- return Visibility.Visible;
- }
- // 如果传入的参数类型错误,隐藏节点
- Debugger.Break();
- return Visibility.Collapsed;
- }
- public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
- {
- throw new NotImplementedException();
- }
- }
- }
|