mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-02 15:50:51 +08:00
62 lines
2.1 KiB
C#
62 lines
2.1 KiB
C#
using System;
|
||
using System.Globalization;
|
||
using System.Windows;
|
||
using System.Windows.Data;
|
||
using System.Windows.Markup;
|
||
|
||
namespace AIStudio.Wpf.ADiagram.Converters
|
||
{
|
||
//选中项索引转换成可见项
|
||
public class IntVisibilityConverter : MarkupExtension, IValueConverter
|
||
{
|
||
/// <summary>
|
||
/// Returns the value for the target property of this markup extension.
|
||
/// </summary>
|
||
/// <param name="serviceProvider">Object that can provide services for the markup extension.</param>
|
||
/// <returns>Reference to the instance of this Int32IndexToNumberConverter.</returns>
|
||
public override object ProvideValue(System.IServiceProvider serviceProvider)
|
||
{
|
||
return this;
|
||
}
|
||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||
{
|
||
|
||
if (value is int && parameter is string) //与参数相同则显示
|
||
{
|
||
if (parameter.ToString().Contains("^"))
|
||
{
|
||
var paras = parameter.ToString().Split('^');
|
||
foreach(var para in paras)
|
||
{
|
||
if (value.ToString() == para)
|
||
{
|
||
return Visibility.Visible;
|
||
}
|
||
}
|
||
return Visibility.Collapsed;
|
||
}
|
||
else
|
||
{
|
||
if (value.ToString() == (string)parameter)
|
||
{
|
||
return Visibility.Visible;
|
||
}
|
||
}
|
||
}
|
||
else if (value is int) //无参数,则大于0显示
|
||
{
|
||
if ((int)value > 0)
|
||
{
|
||
return Visibility.Visible;
|
||
}
|
||
}
|
||
return Visibility.Collapsed;
|
||
}
|
||
|
||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||
{
|
||
throw new NotImplementedException();
|
||
}
|
||
}
|
||
}
|