wpf 静态资源EnumToBooleanConverter
WPF 静态资源 EnumToBooleanConverter 是一种用于将枚举类型转换为布尔类型的转换器。该转换器用于绑定布尔属性到枚举类型的值上。例如,可以使用 EnumToBooleanConverter 将枚举类型的值转换为 Checked 属性的值,以便在 UI 中选择该值。
以下是 EnumToBooleanConverter 的代码实现:
public class EnumToBooleanConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (parameter == null)
{
return false;
}
if (!Enum.IsDefined(value.GetType(), value))
{
return false;
}
object paramValue = Enum.Parse(value.GetType(), parameter.ToString());
return paramValue.Equals(value);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
if (parameter == null)
{
return DependencyProperty.UnsetValue;
}
return Enum.Parse(targetType, parameter.ToString());
}
}
在 XAML 中,可以使用以下方式声明 EnumToBooleanConverter 作为静态资源:
<Window.Resources>
<local:EnumToBooleanConverter x:Key="EnumToBooleanConverter"/>
</Window.Resources>
然后,可以使用 Converter 属性将该转换器应用于绑定表达式中:
<CheckBox IsChecked="{Binding MyEnumProperty, Converter={StaticResource EnumToBooleanConverter}, ConverterParameter={x:Static local:MyEnum.EnumValue}}"/>
在此示例中,EnumToBooleanConverter 将 MyEnumProperty 属性的值转换为布尔类型,以便在 CheckBox 的 IsChecked 属性上进行绑定。ConverterParameter 属性指定要转换的枚举值。
原文地址: https://www.cveoy.top/t/topic/bqgs 著作权归作者所有。请勿转载和采集!