【发布时间】:2012-01-04 03:50:46
【问题描述】:
可以说标记扩展是 XAML 整合过程编程的一种方式吗?您认为这种说法的局限性是什么?
例如,如果您将其与纯 XML 进行比较,则标记扩展在某种程度上就像“动作元素”,它们并不完全是对象树的一部分。
【问题讨论】:
标签: wpf xaml markup declarative
可以说标记扩展是 XAML 整合过程编程的一种方式吗?您认为这种说法的局限性是什么?
例如,如果您将其与纯 XML 进行比较,则标记扩展在某种程度上就像“动作元素”,它们并不完全是对象树的一部分。
【问题讨论】:
标签: wpf xaml markup declarative
一些标记扩展只是一种更直接的方式来描述通过更广泛地使用标签可以完成的事情(因此它们的使用是声明式的):
<TextBox Text="{Binding Path=Foo}">
等价于
<TextBox>
<TextBox.Text>
<Binding Path="Foo">
</TextBox.Text>
</TextBox>
至于一般的扩展...见here。 {}-语法仅指示编译器使用相应扩展类型的实例来处理其间的代码。当然,这是面向对象的代码,而且从来都不是程序化的。信不信由你——即使是 M$ 的人也知道如何体面地编写代码!
【讨论】:
不,它纯粹是声明性的。这绝不是程序性的。
【讨论】: