XAML文件中的element有时表示对象(object)有时表示对象的属性(property),比如
<Button Content="Hello" Click="OnButtonClick">
<Button.Background>
<LinearGradientBrush>
<GradientStop Color="Yellow" Offset="0" />
<GradientStop Color="Green" Offset="1" />
</LinearGradientBrush>
</Button>
<Button>element 实例化了一个Button类型的对象, <Button.Background>表示这个对象的Background属性, 属性的Child Element 表示了属性的值。
另一个需要注意的语法是,如果要给一个class的“Content”属性复制的时候,XAML允许直接将属性值写在Element里而不用使用Property Element的属性,比如:以上的例子等价于
<Button Content="Hello" Click="OnButtonClick">
<Button.Background>
<LinearGradientBrush>
<LinearGradientBrush. GradientStops>
<GradientStop Color="Yellow" Offset="0" />
<GradientStop Color="Green" Offset="1" />
</LinearGradientBrush. GradientStops>
</LinearGradientBrush>
</Button>
其中GradientStops就是LinearGradientBrush的所谓Content属性。
更长见的一个例子是,
<Button Content="Hello">
</Button>
等价于:
<Button>Hello</Button>
另外,Element的attribute表示对象的属性或者事件。