转自:http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/ff941108(v=vs.105).aspx
源码:控件倾斜效果示例
适用于: Windows Phone 8 | Windows Phone OS 7.1
本主题向您介绍如何对应用中的控件应用倾斜效果。查看本主题之前,您应该阅读 Windows Phone 的控件倾斜效果。
在本节中,您将创建基本的倾斜效果应用并导入 TiltEffect.cs 文件。TiltEffect.cs 文件定义启用或抑制倾斜效果的依赖项属性。该文件还提供在控件上创建视觉上的“倾斜”效果所需的代码。
创建基本倾斜效果应用的步骤
-
从“开始”菜单启动 Visual Studio。
-
通过选择“文件 | 新建项目”菜单命令来创建一个新项目。
-
将显示“新建项目”窗口。展开“Visual C#”模板,然后选择“Windows Phone”模板。
-
选择 Windows Phone 应用 模板。填写所需的项目“名称”。
-
单击“确定”。将创建一个新项目并在 Visual Studio 设计器窗口中打开 MainPage.xaml。
-
在“解决方案资源浏览器”中,右键单击该项目,单击“添加”,然后单击“新项”。选择“类”并将该文件重命名为TiltEffect.cs,然后单击位于页面底部的“添加”。
本主题中不提供该文件所需的代码。您必须下载 ControlTiltEffect 示例,它位于此位置:控件倾斜效果示例。下载该解决方案之后,必须执行以下步骤。
导入 TiltEffect.cs 文件的步骤
-
在下载的解决方案中找到 TiltEffect.cs 文件。
-
将 TiltEffect.cs 文件导入到您的项目中。
-
在“解决方案资源浏览器”中右键单击该项目,单击“添加”,然后选择“现有项”。浏览TiltEffect.cs 文件,然后单击“添加”。
-
将 TiltEffect.cs 文件中的命名空间更改为您项目的命名空间名称。例如,将代码复制到该文件中之后,命名空间将为ControlTiltEffect:
C#namespace ControlTiltEffect
将该命名空间更改为您项目的命名空间。
在本节中,您将通过 XAML 代码添加启用或抑制倾斜效果的控件的分类。
添加可倾斜控件的步骤
-
在 MainPage.xaml 中,将以下代码添加到 XAML 代码的接近页面底部的“Content Panel”部分下面。该部分前面的注释为“<!--ContentPanel - 将其他内容置于此处-->。”删除已经填充该部分的打开和关闭 Grid 标记。
XAML<!--An assortment of controls that will support the tilt effect.--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <Button Width="186" Height="185" Content="Button" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="9,20,0,0" /> <Button Content="Button (Suppressed)" Height="150" HorizontalAlignment="Left" Margin="37,0,0,161" VerticalAlignment="Bottom" Width="380"/> <CheckBox Content="CheckBox" Height="72" HorizontalAlignment="Left" Margin="235,25,0,0" Name="checkBox1" VerticalAlignment="Top" /> <RadioButton Content="RadioButton" Height="72" HorizontalAlignment="Left" Margin="235,103,0,0" Name="radioButton1" VerticalAlignment="Top" /> <HyperlinkButton Content="HyperlinkButton" Height="30" HorizontalAlignment="Left" Margin="25,211,0,0" Name="hyperlinkButton1" VerticalAlignment="Top" Width="409" /> <ListBox Height="110" HorizontalAlignment="Left" Margin="6,472,0,0" Name="listBox1" VerticalAlignment="Top" Width="460" ItemsSource="{Binding}" > <ListBoxItem Content="First ListBoxItem" ></ListBoxItem> <ListBoxItem Content="Second ListBoxItem" ></ListBoxItem> <ListBoxItem Content="Third ListBoxItem" ></ListBoxItem> <ListBoxItem Content="Fourth ListBoxItem" ></ListBoxItem> </ListBox> </Grid>
注意:
也可以将这些控件从“工具箱”拖动到您的页面并相应地放置。下图是该页面外观的常规表示。
在本节中,您将在页面上添加并启用 IsTiltEnabled 依赖项属性。该属性将添加到页面的根位置,以便倾斜效果传播到您创建的所有控件。您可以将倾斜效果设置为全局应用,也可以只对单个控件应用。而且,将使用SuppressTilt 依赖项属性抑制单个控件上的倾斜效果。
应用倾斜效果依赖项属性的步骤
-
在 MainPage.xaml 中,向页面顶部添加以下命名空间声明。对于 [命名空间],输入应用命名空间。
XAMLxmlns:local="clr-namespace:[Namespace]"
-
在 MainPage.xaml 中,在页面顶部添加并启用依赖项属性 IsTiltEnabled:
XAMLlocal:TiltEffect.IsTiltEnabled="True"
该代码引用 TiltEffect.cs 文件中的 IsTiltEnabled 依赖项属性并在该页面上全局启用倾斜效果功能。
-
在该页面上,在 XAML 代码中找到 Content 属性设置为 Button (Suppressed) 的 Button 控件。将代码修改为以下内容:
XAML<Button Content="Button (Suppressed)" Height="150" HorizontalAlignment="Left" Margin="37,0,0,161" VerticalAlignment="Bottom" Width="380" local:TiltEffect.SuppressTilt="True"/>
对上面代码进行的唯一调整是添加 SuppressTilt 依赖项属性并将其设置为 True。
-
通过选择“调试 | 启动调试”菜单命令运行应用。这将打开模拟器窗口并启动该应用,或者部署到您选择的设备。运行应用之后,您应该看到所有控件都应用了倾斜效果。唯一的例外是启用了抑制倾斜依赖项属性的按钮。