2

我有一张图片:

<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" />

哪个似乎没有显示 Toolkit:TiltEffect 的任何迹象?我已经尝试将其设置为更大的尺寸以查看效果是否可以看到,但似乎仍然没有任何反应?

有人知道为什么吗?我能做些什么来解决它?

4

2 回答 2

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)); 
        }
于 2013-08-10T11:34:35.237 回答
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 更可定制,对我来说看起来更好。

于 2013-08-10T11:47:17.363 回答