设为首页 收藏本站
查看: 528|回复: 0

一起学Windows Phone7开发(十.Windows Phone 7 CTP-April 向Beta版迁移)

[复制链接]

尚未签到

发表于 2015-5-9 10:11:28 | 显示全部楼层 |阅读模式

  Windows phone 7 从发布到现在一共出了三个版本的SDK,并且互不兼容。之前我写了第一版向第二版的迁移,现在来看一下第二版到Beta版的变化。
  一.App.xaml和App.cs
  1.       App.xaml
这个文件看上去比原来清爽了很多,没有大段大段的代码,这也看来也和新的模拟器风格有关。但是这样就会出问题了,原来的一个属性项没有了,造成原来的页面加载错误。

a.       把PhoneTextPageTitle2Style改为PhoneTextNormalStyle或自已再增加一个这样的属性。

b.      

        

   

   这一项被取消。从而造成无法启动应用程序。这个设置程序RootFrame的项被放到了配置文件里。

  
  2.       App.xaml.cs
  同样的这个文件也发生了改变。改动也是比较大的。需要增加和去除一些代码(这里的Appp 类的代码):
public partial class App : Application

    {

        public PhoneApplicationFrame RootFrame { get; private set; }


        // Constructor

        public App()

        {

            // Global handler for uncaught exceptions.

            // Note that exceptions thrown by ApplicationBarItem.Click will not get caught here.

            UnhandledException += Application_UnhandledException;


            // Standard Silverlight initialization

            InitializeComponent();


            // Phone-specific initialization

            InitializePhoneApplication();

        }


        // Code to execute when the application is launching (eg, from Start)

        // This code will not execute when the application is reactivated

        private void Application_Launching(object sender, LaunchingEventArgs e)

        {

        }


        // Code to execute when the application is activated (brought to foreground)

        // This code will not execute when the application is first launched

        private void Application_Activated(object sender, ActivatedEventArgs e)

        {

        }


        // Code to execute when the application is deactivated (sent to background)

        // This code will not execute when the application is closing

        private void Application_Deactivated(object sender, DeactivatedEventArgs e)

        {

        }


        // Code to execute when the application is closing (eg, user hit Back)

        // This code will not execute when the application is deactivated

        private void Application_Closing(object sender, ClosingEventArgs e)

        {

        }


        // Code to execute if a navigation fails

        void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)

        {

            if (System.Diagnostics.Debugger.IsAttached)

            {

               // A navigation has failed; break into the debugger

                System.Diagnostics.Debugger.Break();

            }

        }


        // Code to execute on Unhandled Exceptions

        private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)

        {

            if (System.Diagnostics.Debugger.IsAttached)

            {

                // An unhandled exception has occurred; break into the debugger

                System.Diagnostics.Debugger.Break();

            }

        }


        #region Phone application initialization


        // Avoid double-initialization

        private bool phoneApplicationInitialized = false;


        // Do not add any additional code to this method

        private void InitializePhoneApplication()

        {

            if (phoneApplicationInitialized)

                return;


            // Create the frame but don't set it as RootVisual yet; this allows the splash

            // screen to remain active until the application is ready to render.

            RootFrame = new PhoneApplicationFrame();

            RootFrame.Navigated += CompleteInitializePhoneApplication;


            // Handle navigation failures

            RootFrame.NavigationFailed += RootFrame_NavigationFailed;


            // Ensure we don't initialize again

            phoneApplicationInitialized = true;

        }


        // Do not add any additional code to this method

        private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e)

        {

            // Set the root visual to allow the application to render

            if (RootVisual != RootFrame)

                RootVisual = RootFrame;


            // Remove this handler since it is no longer needed

            RootFrame.Navigated -= CompleteInitializePhoneApplication;

        }


        #endregion

    }

  
  二.WMAppManifest.xml
  这个文件也有一些小改动。但是这些改动会造成程序无法启动。
  1.       增加项
  
        
        
        
        
        
        
        
        
        
     
  2.       修改项
  原来的:
  
        
  
                     修改后:
                             
                               
                 
  三.工程文件
  增加了一个宏:WINDOWS_PHONE
  DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE
  四.API
很多API被去掉,改名或并且,有相关的文档可以查。最主要的是这个Microsoft.Phone.dll的改动也会造成无法编译或无法启动程序。原来的Microsoft.Phone.Navigatio.dll被改为了System.Windows.Navigation.dll;

修改这两项:

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

xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"


  五.Application Bar
  这个也发生了改变,去掉了x:Name项,增加了Text属性,这个属性必须加,否则运行时会报错。
  
  六.其它:
  这个Beta,变动比较大,所有API的改变都在它的文档里有说明。这里就不在赘述了。还有就是模拟器的变化,可以看到内嵌了Bing搜索,还带语音搜索功能。另外这个版本已经支持中文了!
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-65173-1-1.html 上篇帖子: windows phone 7 通过麦克风录音,并且播放 下篇帖子: 《About Multi-Touch(多点触摸是个什么东西?)》:MultiTouch Vista全解析(Windows 7 多点触摸开发模拟器和多点触摸驱动)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表