我有一个Listbox DataTemplate,看起来像这样
<DataTemplate>
<StackPanel Margin="0,24,0,24">
<StackPanel toolkit:TiltEffect.IsTiltEnabled="true">
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu>
<toolkit:MenuItem Header="Do something" />
<toolkit:MenuItem Header="Do something else" />
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>
<TextBlock Text="Some content" />
<TextBlock Text="Some text" />
</StackPanel>
<Image Source="{Binding Url}" />
</StackPanel>
</DataTemplate>
我在StackPanel上设置了Tilt Effect,其中包含一个上下文菜单和两个TextBlocks。我希望Tilt Effect只影响StackPanel。不幸的是,通过这种方式设置的东西,倾斜效果进一步传播并影响图像。
我尝试了在图像上使用TiltEffect.SupressTilt =“True”的明显方法,但它没有任何效果。 :(
答案 0 :(得分:1)
我对Silverlight工具包倾斜效果不满意,尤其是“基于类型”对元素进行“合理”应用的方式。所以我写了一个替代方案。您还可以配置要应用的“倾斜度”。源代码可以在这里找到:
Metro in Motion Part #4: Tilt Effect
使用此代码,您可以按如下方式单独对元素应用倾斜:
<Button local:MetroInMotion.Tilt="6"/>
其中整数指定要应用的倾斜度。我建议使用相当低的值,原生效果非常微妙,但是人们倾向于在自己的Silverlight应用程序中使它太过极端,Metro效果应该是微妙的,它们不应该对你大喊大叫!