using System.Globalization;
using System.Windows.Data;
namespace ShrlAlgoToolkit.RevitAddins.Common.Converters;
public class ComparisonConverter : IValueConverter
{
///
/// Model属性->Control属性
///
///
///
///
///
///
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
//value:ViewModel属性,枚举/数字/字符串
//parameter:ConverterParameter,枚举/数字/字符串
//return (string)parameter == (string)value;
//绑定的枚举属性与控件转换参数一致则选中
return value.Equals(parameter);
//return (string)parameter == (string)value;
}
///
/// 控件选中,将Converter参数传给模型属性
///
///
///
///
///
///
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
//value:bool 比如RadioButton的check属性
//parameter:ConverterParameter枚举
//一样才传递给ViewModel
//选中则返回枚举类
return value is true ? parameter : Binding.DoNothing;
//return (bool)value ? parameter : Binding.DoNothing;
}
}