Windows phone 7 Can';不要让Caliburn.Micro与Windows Phone一起工作

Windows phone 7 Can';不要让Caliburn.Micro与Windows Phone一起工作,windows-phone-7,mvvm,caliburn.micro,Windows Phone 7,Mvvm,Caliburn.micro,我试图了解Windows Phone(以及一般的MVVM)是如何工作的,因此我创建了一个基本的Windows Phone应用程序,并进行了安装(v1.2.0-目前最新版本),并在这里和那里遵循了一些说明。因此,我最终得出以下结论: WMAppManifest.xml <DefaultTask Name ="_default" NavigationPage="Views/HomeView.xaml"/> <Application xmlns="http://schem

我试图了解Windows Phone(以及一般的MVVM)是如何工作的,因此我创建了一个基本的Windows Phone应用程序,并进行了安装(v1.2.0-目前最新版本),并在这里和那里遵循了一些说明。因此,我最终得出以下结论:

WMAppManifest.xml

<DefaultTask  Name ="_default" NavigationPage="Views/HomeView.xaml"/>
<Application
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="MyCaliburn.PhoneUI.App"
    xmlns:Framework="clr-namespace:MyCaliburn.PhoneUI.Framework">

    <!--Application Resources-->
    <Application.Resources>
        <Framework:AppBootstrapper x:Key="bootstrapper" />
    </Application.Resources>

</Application>
查看/HomeView.xaml.cs(xaml页面是默认的窗口电话纵向页面)

App.xaml

<DefaultTask  Name ="_default" NavigationPage="Views/HomeView.xaml"/>
<Application
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    x:Class="MyCaliburn.PhoneUI.App"
    xmlns:Framework="clr-namespace:MyCaliburn.PhoneUI.Framework">

    <!--Application Resources-->
    <Application.Resources>
        <Framework:AppBootstrapper x:Key="bootstrapper" />
    </Application.Resources>

</Application>

App.xaml.cs

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Windows;
using Caliburn.Micro;
using MyCaliburn.PhoneUI.ViewModels;

namespace MyCaliburn.PhoneUI.Framework
{
    public class AppBootstrapper : PhoneBootstrapper
    {
        PhoneContainer container;

        protected override void Configure()
        {
            container = new PhoneContainer(RootFrame);
            container.RegisterPhoneServices();
            container.Singleton<HomeViewModel>();
        }

        protected override void OnUnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
        {
            if (Debugger.IsAttached)
            {
                Debugger.Break();
                e.Handled = true;
            }
            else
            {
                MessageBox.Show("An unexpected error occured, sorry about the troubles.", "Oops...", MessageBoxButton.OK);
                e.Handled = true;
            }

            base.OnUnhandledException(sender, e);
        }

        protected override object GetInstance(Type service, string key)
        {
            return container.GetInstance(service, key);
        }

        protected override IEnumerable<object> GetAllInstances(Type service)
        {
            return container.GetAllInstances(service);
        }

        protected override void BuildUp(object instance)
        {
            container.BuildUp(instance);
        }
    }
}
using Caliburn.Micro;

namespace MyCaliburn.PhoneUI.ViewModels
{
    public class HomeViewModel : Screen
    {
        public HomeViewModel()
        {
            //DisplayName = "Home";
        }
    }
}
using System.Windows;

namespace MyCaliburn.PhoneUI
{
    public partial class App : Application
    {
        /// <summary>
        /// Constructor for the Application object.
        /// </summary>
        public App()
        {
            // Standard Silverlight initialization
            InitializeComponent();
        }
    }
}
使用System.Windows;
命名空间MyCaliburn.PhoneUI
{
公共部分类应用程序:应用程序
{
/// 
///应用程序对象的构造函数。
/// 
公共应用程序()
{
//标准Silverlight初始化
初始化组件();
}
}
}
现在,当我点击F5时,应用程序运行并退出,没有显示任何页面或异常,也没有点击我所在的任何断点

有人能告诉我我的代码中缺少了什么阻止应用程序运行吗


提前感谢。

很多时候,当我最终得到一个没有启动的应用程序时,结果证明,由于一些重构,应用程序类不再是启动对象。右键单击解决方案资源管理器中的项目,转到“属性/应用程序”,并确保正确设置了启动对象。

很多次,当我遇到一个无法启动的应用程序时,结果证明,由于某些重构,应用程序类不再是启动对象。右键单击解决方案资源管理器中的项目,转到属性/应用程序,确保启动对象设置正确。

我觉得我错过了一件非常愚蠢的事情:)你说得对,启动对象设置不正确。我觉得我错过了一件非常愚蠢的事情:)你说得对,启动对象设置不正确。