StaticResource 与 StaticResourceExtension 语法

StaticResource vs StaticResourceExtension syntax

有什么区别。

<TextBox Text="{local:BindingResourceExtension MyBinding}" >
    <TextBox.Style>
        <StaticResourceExtension  ResourceKey="style" />
    </TextBox.Style>
</TextBox>

<TextBox Text="{local:BindingResourceExtension MyBinding}" Style="{StaticResource style}"/>

在XAML中应该首选哪个?

没有区别。花括号语法是专门设计的,因此您可以在属性值中使用标记扩展,而不必像第一个示例那样将属性指定为子元素。因此,自然地,在这些情况下大括号语法是首选。