zoukankan      html  css  js  c++  java
  • Windows Phone Tilt effect on HubTile and other Controls



    In this article I will talk about creating tilt effect in different control in Windows Phone. Implementing tilt effect on controls are easy but few controls like Hubtile, textblock don't create tilt effect itself. We need to little bit work around to achieve. In this article first we will look into how to create tilt effect on normal controls then we will discuss on how to put tilt effect on hubtile, textblock.


    Let's write code:


    Download Silverlight Windows Phone Toolkit


    Step 1: Create a silverlight for Windows Phone project.


    Step 2: Add reference of Microsoft.Phone.Controls.Toolkit.dll


    Step 3: Add namespace of Microsoft.Phone.Controls.Toolkit in MainPage.xaml.


    xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"


    Step 4: Add below line in phone:PhoneApplicationPage element.


    toolkit:TiltEffect.IsTiltEnabled="True"


    Step 5: Add a listbox and a button inside ContenPanel of MainPage.xaml.


    <ListBox Margin="20,280,0,0" Height="80" FontSize="28" >
    <ListBoxItem Content
    ="Item1"/>
    <ListBoxItem Content
    ="Item2"/>
    </ListBox>


    <Button x:Name="tiltEffect" Margin="20,480,0,0" Height="80" Width="430" Content="Tilt" />


    Step 5: Now run the application and on touch of listbox item and button you will notice tilt effect.


    Step 6: To suppress tilt effect for a particular item of ListBox or control we can use below code.


    toolkit:TiltEffect.SuppressTilt="True"


    Step 7: Now replace code of Step 5 with below code and run the application, the highlighted code will suppress the tilt effect.


    <ListBox Margin="20,280,0,0" Height="80" FontSize="28" >
    <ListBoxItem Content="Item1" toolkit:TiltEffect.SuppressTilt
    ="True"/>
    <ListBoxItem Content
    ="Item2"/>
    </ListBox>


    <Button x:Name="tiltEffect" toolkit:TiltEffect.SuppressTilt="True" Margin="20,480,0,0" Height="80" Width="430" Content="Tilt" />


    Step 8: Now add a hubtile, textblock and image inside ContentPanel of MainPage.xaml.


    <toolkit:HubTile Title="UnFreezed Title" Background="Maroon" x:Name="hubTile1" />


    <Image Source="/TestTilt.png" Margin="0" HorizontalAlignment="Left" Height="173" Width="173" VerticalAlignment="top"/>


    <TextBlock Text="Testing" Style="{StaticResource PhoneTextExtraLargeStyle}" Height="100" Margin="200,-410,12,0" />


    Step 9: Now run the application again and you will notice tile effect won't work for hubtile, image and textblock.


    Let's implement tilt effect for hubtile, image and textblock.


    Step 10: Now create a class TiltableControl (Highlighted) which in MainPage.xaml.cs above MainPage class.


    namespace Windows_Phone___Tile_Effect
    {
    public class TiltableControl :
    Grid
    {
    }


    public partial class MainPage : PhoneApplicationPage
    {


    Step 11: Add TiltableControl in TiltableItems like shown below in the MainPage constructor.


    TiltEffect.TiltableItems.Add(typeof(TiltableControl));


    Step 12: Add namespace like below in MainPage.xaml.


    xmlns:myTilt="clr-namespace:Windows_Phone___Tile_Effect"


    Step 13: Now wrap the hubtile, textblock and image control created in Step 8 with TiltableControl.


    <myTilt:TiltableControl>
    <Image Source="/TestTilt.png" Margin="0" HorizontalAlignment="Left" Height="173" Width="173" VerticalAlignment
    ="top"/>
    </myTilt:TiltableControl>


    <myTilt:TiltableControl>
    <TextBlock Text="Testing" Style="{StaticResource PhoneTextExtraLargeStyle}" Height="100" Margin
    ="200,-410,12,0" />
    </myTilt:TiltableControl>


    <myTilt:TiltableControl>
    <toolkit:HubTile Title="UnFreezed Title" Background="Maroon" x:Name
    ="hubTile1" />
    </myTilt:TiltableControl>


    Step 14: Now run the application, you will notice hubtile, image and textblock has tilteffect.


    This ends the article of tilt effect in hubtile, image and other controls in Windows Phone.

    Like us if you find this post useful. Thanks!
  • 相关阅读:
    Linux编程 22 shell编程(输出和输入重定向,管道,数学运算命令,退出脚本状态码)
    mysql 开发进阶篇系列 46 物理备份与恢复( xtrabackup的 选项说明,增加备份用户,完全备份案例)
    mysql 开发进阶篇系列 45 物理备份与恢复(xtrabackup 安装,用户权限,配置)
    mysql 开发进阶篇系列 44 物理备份与恢复( 热备份xtrabackup 工具介绍)
    Linux编程 21 shell编程(环境变量,用户变量,命令替换)
    Linux编程 20 shell编程(shell脚本创建,echo显示信息)
    mysql 开发进阶篇系列 43 逻辑备份与恢复(mysqldump 的基于时间和位置的不完全恢复)
    Linux编程 19 编辑器(vim 用法)
    (网页)angularjs中的interval定时执行功能(转)
    (网页)在SQL Server中为什么不建议使用Not In子查询(转)
  • 原文地址:https://www.cnblogs.com/zziss/p/2734351.html
Copyright © 2011-2022 走看看