using System.Globalization; using System.Windows; using System.Windows.Data; using System.Windows.Markup; namespace Waaagh.Converters { internal class IsCollapsedConverter: MarkupExtension, IValueConverter { public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null || parameter == null) { return Visibility.Visible; } if (value.GetType().Equals(parameter.GetType()) == false) { return Visibility.Visible; } if (value.Equals(parameter) == false) { return Visibility.Visible; } return Visibility.Collapsed; } public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } public override object ProvideValue(IServiceProvider serviceProvider) { return this; } } }