Sic.Framework-Nanjing-Baishi/Sicentury.Core/Converters/ParameterNodeTreeViewVisibi...

45 lines
1.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Diagnostics;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
namespace Sicentury.Core.Converters
{
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();
}
}
}