WPToolkit:TiltEffect似乎不会影响图像

时间:2013-08-10 11:11:40

标签: c# image windows-phone-7 windows-phone-8 toolkit

我有一张图片:

<Image Height="100" Name="imagePlay" Stretch="UniformToFill" VerticalAlignment="Center" Width="100" toolkit:TiltEffect.IsTiltEnabled="True" Source="/Music%20Player%20Pro;component/Images/Play.White.png" Margin="20,0,0,0" Tap="imagePlay_Tap" />

哪个似乎没有显示工具包的任何迹象:TiltEffect?我已经尝试将它设置为更大的尺寸以查看效果是否需要分钟才能看到,但似乎仍然没有发生任何事情?

有谁知道这是为什么?我能做些什么来解决它?

2 个答案:

答案 0 :(得分:3)

图像控制不支持倾斜效果。但你可以把它放到其他可倾斜的控件上,如StackPanel,Grid,Border等。例如,我把它放到StackPanel。

  <StackPanel toolkit:TiltEffect.IsTiltEnabled="True">
      <Image Height="100" Name="imagePlay" Stretch="UniformToFill" VerticalAlignment="Center" Width="100" toolkit:TiltEffect.IsTiltEnabled="True" Source="/Music%20Player%20Pro;component/Images/Play.White.png" Margin="20,0,0,0" Tap="imagePlay_Tap" />
   </StackPanel>

默认情况下,StackPanel不可倾斜,您必须将StackPanel类型添加到TiltableItems中,就像在页面构造函数中一样。

 public MainPage()
        {
            InitializeComponent();
            TiltEffect.TiltableItems.Add(typeof(StackPanel)); 
        }

答案 1 :(得分:1)

您需要将Image放到Grid或StackPanel或Border中,并将其添加到TiltEffect.TiltableItems集合中。默认情况下,它只包含ButtonBase控件(Button,CheckBox,RadioButton)和ListBoxItems,因此倾斜效果适用于这些控件。

<Grid toolkit:TiltEffect.IsTiltEnabled="True">
    <Image Source="Background.png" />
</Grid>

public MainPage()
{
    InitializeComponent();
    TiltEffect.TiltableItems.Add(typeof(Grid));    
}

查看此文章以获取更多信息:Silverlight for WP7 Toolkit TiltEffect in depth

另外,我建议您阅读本文:Metro in Motion Part #4 – Tilt Effect。这个TiltEffect更具可定制性,对我来说看起来更好。