1

我知道我可以像这样在 Silverlight 中编写 Setter:

<Setter Property="Background" Value="{StaticResource MyBrush}" />

但是,由于其他考虑,我必须按以下格式编写 setter:

<Setter Property="Background">
  <Setter.Value>
      ????? static resource
  </Setter.Value>
</Setter>

我见过的任何示例都将值设置为完整画笔,但我想使用现有资源并且我不知道如何编写它。它不仅仅是刷子,我在尝试找出正确类型的属性来尝试设置值时遇到了问题。有小费吗?

杰夫

4

1 回答 1

2

任何用 {XXX} 表示的标记扩展都可以写成 <XXX>。在这里,{StaticResource MyBrush} 实际上是创建一个 StaticResourceExtension 类型的对象,将“MyBrush”作为其构造函数的唯一参数传递,该构造函数本身设置对象的 ResourceKey 属性。您可以使用以下方法达到相同的效果:

<StaticResource ResourceKey="MyBrush" />

如果您不知道属性是什么类型,只需在您感兴趣的属性上设置插入符号,然后按 F1 打开 Visual Studio 中的帮助,它应该会为您提供您正在寻找的信息。

于 2009-10-04T20:59:44.533 回答