在Silverlight中使用Setter.Value而不是Setter

时间:2009-10-04 20:44:48

标签: silverlight xaml setter

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

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

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

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

我见过的任何示例都将值设置为完整画笔,但我想使用现有资源,但我不知道如何编写它。它不仅仅是画笔,我在概念中遇到麻烦,试图找出正确类型的属性来尝试设置值。有小费吗?

杰夫

1 个答案:

答案 0 :(得分:2)

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

<StaticResource ResourceKey="MyBrush" />

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