Windows Phone7 基本编程常识常识 (持续更新)

Windows Phone7 基本常识(来自Programming Windows Phone7)

 

XNA全屏幕: this.graphics.IsFullScreen = true ; //这条语句最好放在Initialize中,如果放在构造函数中也许会出现问题哦;

 

增加PortraitUp支持:this.graphics.SupportedOrientations

 

判断:

      this.Windows.CurrentOrientation == ??(这是只读的属性)

 

增加地理坐标:GeoCoordinateWatcher;需要添加System.Device引用

using System.Device.Location ;

 

 

浏览不同的Page:

 

       this.NavigationService.Navigate(new Uri("/SecondPage.xaml", UriKind.Relative));

      给Page传递参数数:和HTML一样:

接受参数时:增加using System.window.Navigation ;

好生奇怪,我在事件属性中没有找到这个Navigate的事件,只能手动添加.

 

 

5. 在全局对象App中共享不同页面的数据,呵呵,感觉就像是windows编程对话框之间传递数据一样,一般定义一个全局结构体,用来传递数

据;

看看在windows中怎么实现的

添加变量之后就可以操纵这个变量了。

 

这里需要注意的是可空类型的用法,可空类型变量只能赋予可空类型变量,如果赋值给非可空类型变量,请使用value属性。

 

 6.不想使用app

那么可以使用OnNavigatedFrom函数

在这个函数中,可以对想要的页面加载之前对共有成员进行赋值,感觉类似于Asp.net界面

 

 

 

7.使用状态:

      State可以存取变量,在TombStoning机制中,有效(就是会恢复);

      PhoneApplicationService.Current.State["Color"] = ((SolidColorBrush)(ContentPanel.Background)).Color;

      需要增加using Microsoft.Phone.Shell;

8.使用IsolatedStorage在Sliverlight中;

  using System.IO.IsolatedStorage;

 

9.在XNA中使用PhoneApplicationService

   增加引用:

   using Microsoft.Phone.Shell

   using System.Windows ;

   否则出现:

Error 1 The type 'System.Windows.IApplicationService' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'. d:/users/rorger/documents/visual studio 2010/Projects/ch5/MyXNATomstoning/MyXNATomstoning/MyXNATomstoning/Game1.cs 130 13 MyXNATomstoning

错误

 

   在XNA中game构造函数中:

  

   这个和TombStoning有点像,但是不是TombStoning。因为appService只是一个引用,而不是新建的对象;

   看看xml反序列化:

  

 

   增加:

    using System.xml;

    using System.xml.Serialization.

 

 

10.给windows Phone7 的appbar增加button:

图标可以在C:/Program Files/Microsoft SDKs/Windows Phone/v7.0/Icons目录中找到。

在工程中添加Images文件夹,然后添加图标,点击图标的属性,然后点击 Build action-》content;

这样你就可以引用图标了。

 

 

 

ch8:

旋转/缩放/偏移

在属性RenderTransform中设置吧

时钟:DispartcherTimer  需要命名空间 using System.windows.Threading

Slverlight内置的动画支持:使用静态类

 CompositionTarget.Rendering += new EventHandler(OnCompositionTargetRendering);

 void OnCompositionTargetRendering(object sender, EventArgs e)
        {
            RenderingEventArgs args = e as RenderingEventArgs;

               ...

        }

 

 

手势缩放:

     使用ManipulationDelta事件:

 

注意 scale是变化系数,而不是最终的,在原来的基础上进行相乘;

平移也一样。

 

 

图像掩码:

    使用 <Image.OpacityMask> </Image.OpacityMask>  中间是画刷

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值