mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-03 00:00:57 +08:00
58 lines
1.7 KiB
C#
58 lines
1.7 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|