【问题标题】:Effects (DropShadowEffect) in Windows Phone 7Windows Phone 7 中的效果 (DropShadowEffect)
【发布时间】:2011-02-16 22:06:45
【问题描述】:

我注意到 Windows Phone 7 的 Silverlight 中缺少 Effect 属性,因此我进行了一些谷歌搜索,显然由于性能原因它被删除了。我基本上想做这样的事情

<TextBlock ...>
    <TextBlock.Effect>
        <DropShadowEffect/>
    </TextBlock.Effect>
</TextBlock>

<Image ...>
    <Image.Effect>
        <DropShadowEffect/>
    </Image.Effect>
</Image>

那么还有其他方法可以在 Silverlight for Windows Phone 7 中获得DropShadowEffect 吗?下个版本有消息吗?

谢谢

【问题讨论】:

  • 我怀疑在将其放回原处之前需要发生两件事之一。(它在 CTP 中。):1)设备需要更强大;或 2) 需要创建一个新的更快的算法来产生效果。我不希望很快看到其中任何一个,但很高兴错了。

标签: c# silverlight xaml windows-phone-7 effects


【解决方案1】:

使用图像,您只需在 Photoshop/Gimp 等中创建一个投影(对我来说效果很好)并将其保存为 .png。

使用 TextBlock 会有点困难。例如,创建一个带有阴影的半透明图像,并将 TextBlock 和 Image 都放在 Canvas 内。更改 Canvas.ZIndex="integer" 附加属性以将它们按特定顺序放置 - 图像必须位于下方。阴影也应该模糊。

缺点是:

  • 阴影是静态的。
  • 不太适合 Metro UX。

【讨论】:

  • 您的第一个建议正是我最终所做的。实际上对于图像和文本:)
  • 我认为阴影在 Metro 设计中仍然可以正常工作,就像他们为新的 Xbox Live 界面所做的那样。 :)
【解决方案2】:
<TextBlock ...>
 <TextBlock.RenderTransform>
  <TranslateTransform X="3" Y="3" />
 </TextBlock.RenderTransform>
</TextBlock>

<TextBlock ...>
</TextBlock>

我想要一个阴影效果,这对我有用。您需要在两个文本块中放置相同的内容(文本块名称除外)。 X 和 Y 是阴影到文本的水平和垂直距离。如果取决于阴影的位置,您也可以使用负数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多