gpt4 book ai didi

c# - 是否可以为绑定(bind)内联定义转换器(没有资源)?

转载 作者:太空狗 更新时间:2023-10-29 18:08:45 26 4
gpt4 key购买 nike

是否可以为绑定(bind)内联定义类型转换器(无资源)?

像这样:

   <Button Visibility="{Binding ElementName=checkBox, Path=IsChecked, Converter={new BooleanToVisibilityConverter}" />

最佳答案

您可以通过自定义 MarkupExtension 创建和公开您的转换器,这将为您提供您正在寻找的内联声明:

public class BooleanToVisibilityConverterExtension : MarkupExtension, IValueConverter
{
private BooleanToVisibilityConverter converter;

public BooleanToVisibilityCoverterExtension() : base()
{
this.converter = new BooleanToVisibilityConverter();
}

public override object ProvideValue(IServiceProvider serviceProvider)
{
return this;
}

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return this.converter.Convert(value, targetType, parameter, culture);
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return this.converter.ConvertBack(value, targetType, parameter, culture);
}
}

现在您可以使用 MarkupExtension 内联来创建一个新的转换器:

<Button Visibility="{Binding Converter={local:BooleanToVisibilityConverter} ...}" .. />

关于c# - 是否可以为绑定(bind)内联定义转换器(没有资源)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6799483/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com