Silverlight for Windows Phone Toolkit 中的 TiltEffect 可以在套用的控制项上产生一种倾斜的效果,让使用者可以更清楚知道是有明确点选到,不过 TiltEffect 并不是预设就支持所有的控制项,如果直接套用在 Toolkit 中的 HubTile 上就不会有效果,不过因为像 Windows Phone 手机首页的 Tile 在点选的时候是拥有这种倾斜的效果,所以使用者也许会更习惯点选到 HubTile 时也会产生同样的效果,因此还是有很简单的方法可以使 HubTile 套用 TiltEffect ,产生生跟原本手机一致的使用体验。
首先因为 TiltEffect 与 HubTile 都是在 Silverlight for Windows Phone Toolkit 中,所以先利用NuGet来下载安装 Toolkit 。
接着增加一个类别并继承自Grid,并且在 TiltableItems 中加入。
using System.Windows.Controls;
using Microsoft.Phone.Controls;
namespace TilteffectTest
{
public class Tiltable : Grid
{
}
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent();
TiltEffect.TiltableItems.Add(typeof(Tiltable));
}
}
}
在 XAML 当中先加入 namespace 后,就可以直接套用在 HubTile 上,这时当点选到此 Tile 时就会产生倾斜的效果,就跟 Windows Phone 系统中的 Tile 有一致的效果了。
<phone:PhoneApplicationPage xmlns:my="clr-namespace:TilteffectTest" .......> ...... <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <my:Tiltable> <toolkit:HubTile toolkit:TiltEffect.IsTiltEnabled="True" /> </my:Tiltable> </Grid> </phone:PhoneApplicationPage>