SuperAPI AI 工具集

using-converter-markup-extension

编程与开发

查看项目

更新于 10-16 05:02

技能介绍

用途:在 XAML 中把值转换器(IValueConverter)与 MarkupExtension 结合,使转换器可直接在绑定里内联使用,无需在 Resources 中声明和通过 StaticResource 引用,同时内置惰性单例,减少样板代码。

主要能力:提供 ConverterMarkupExtension<T> 与 MultiConverterMarkupExtension<T> 两个基类(.NET 7+),分别对应 IValueConverter 与 IMultiValueConverter;通过 Lazy<T> 实现单例;支持 ConverterParameter 做变体(如 Invert)。

使用方式:转换器继承对应基类并标记为 sealed,重写 Convert(可选 ConvertBack),例如 BoolToVisibilityConverter、NullToVisibilityConverter、StringFormatConverter、FullNameConverter(多值)。XAML 中直接写 Converter={local:BoolToVisibilityConverter},多值用 MultiBinding。建议用 GlobalUsings.cs 引入 System、System.Globalization、System.Windows、System.Windows.Data、System.Windows.Markup。

限制与注意:资料未提供具体价格、平台支持范围以外的信息;不适用于非 XAML 场景;需目标框架为 .NET 7+;无效输入可返回 DependencyProperty.UnsetValue;尽量用 ConverterParameter 代替多个转换器。

分类:该内容属于编程与开发 / XAML 项目开发。