WPF中的TypeConverters和MarkupExtension有什么区别

Vir*_*Guy 7 wpf xaml

TypeConverters和之间有什么区别MarkupExtension

Cod*_*ked 7

TypeConverters用于将一种类型隐式转换为另一种类型.例如,BrushConverter可以将字符串"Red"转换为其Color属性设置为红色的SolidColorBrush.在这种情况下:

<Button Background="Red" />
Run Code Online (Sandbox Code Playgroud)

MarkupExtension允许您为属性提供更多自定义值.还有一些特殊的标记扩展,Binding,MultiBinding和DynamicResource.这些不仅提供静态值,而且提供更动态的值.

因此,您可以构建执行与类型转换器相同操作的标记扩展,但是您必须明确使用它们,而不是类型转换器的隐式特性.