using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Data; using System.Windows.Markup; namespace AIStudio.Wpf.DiagramDesigner.Converters { public class ConverterValueMapToVisibility : MarkupExtension, IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value == null || parameter == null) return DependencyProperty.UnsetValue; bool equal = string.Equals(value.ToString(), parameter.ToString()); //true = Visible if (equal) return Visibility.Visible; else return this.Parameter != null && this.Parameter.ToString().ToLower() == Visibility.Hidden.ToString().ToLower() ? Visibility.Hidden : Visibility.Collapsed; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } public override object ProvideValue(System.IServiceProvider serviceProvider) { return new ConverterValueMapToVisibility { FromType = this.FromType ?? typeof(char), TargetType = this.TargetType ?? typeof(bool), Parameter = this.Parameter }; } public object Parameter { get; set; } public Type TargetType { get; set; } public Type FromType { get; set; } } }