Windows phone 7 Mango e.ChosenPhoto引发异常

Windows phone 7 Mango e.ChosenPhoto引发异常,windows-phone-7,emulation,device,Windows Phone 7,Emulation,Device,我有一个只有一个按钮的应用程序。当用户单击按钮时,应启动照片选择器 下面是我的代码 PhotoChooserTask photoChooserTask; BitmapImage image; Page_Launch event { this.photoChooserTask = new PhotoChooserTask(); this.photoChooserTask.ShowCamera = true; this.photoChooserTask.Pixe

我有一个只有一个按钮的应用程序。当用户单击按钮时,应启动照片选择器

下面是我的代码

PhotoChooserTask photoChooserTask;
BitmapImage image;

Page_Launch event
{
      this.photoChooserTask = new PhotoChooserTask();
      this.photoChooserTask.ShowCamera = true;
      this.photoChooserTask.PixelHeight = 100;
      this.photoChooserTask.PixelWidth = 100;
      this.photoChooserTask.Completed += new EventHandler<PhotoResult>(photoChooserTask_Completed);
}

button_click event
{
    this.photoChooserTask.Show();
}

private void photoChooserTask_Completed(object sender, PhotoResult e)
{
    this.image = new BitmapImage();
    this.image.SetSource(e.ChosenPhoto);
}
PhotoChooserTask PhotoChooserTask;
位图图像;
Page_启动事件
{
this.photoChooserTask=新的photoChooserTask();
this.photoChooserTask.ShowCamera=true;
this.photoChooserTask.PixelHeight=100;
this.photoChooserTask.PixelWidth=100;
this.photoChooserTask.Completed+=新事件处理程序(photoChooserTask_Completed);
}
按钮点击事件
{
this.photoChooserTask.Show();
}
私有无效photoChooserTask_已完成(对象发送方,PhotoResult e)
{
this.image=新的BitmapImage();
this.image.SetSource(e.ChosenPhoto);
}
当我开始在WP emulator上调试时,一切都很好。我可以从照片库中选择一张照片,也可以捕获一张,裁剪并保存照片。但是当我在我的WP设备上运行调试时,我总是在单击按钮后得到e.ChosenPhoto.nullexception错误


有人遇到过同样的问题吗?

您是在应用程序启动事件中编写此代码的吗

您是否尝试在页面中添加photochoosertask

尝试将此粘贴到MyPage.xaml.cs文件中

 public partial class MainPage : PhoneApplicationPage
    {
        PhotoChooserTask photoChooserTask;
        BitmapImage image;

        // Constructor
        public MainPage()
        {
            InitializeComponent();
            this.photoChooserTask = new PhotoChooserTask();
            this.photoChooserTask.ShowCamera = true;
            this.photoChooserTask.PixelHeight = 100;
            this.photoChooserTask.PixelWidth = 100;
            this.photoChooserTask.Completed += new EventHandler<PhotoResult>(photoChooserTask_Completed);
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            this.photoChooserTask.Show();
        }

        private void photoChooserTask_Completed(object sender, PhotoResult e)
        {
           if (e.TaskResult == TaskResult.OK && e.ChosenPhoto != null)
            {
                this.image = new BitmapImage();
                this.image.SetSource(e.ChosenPhoto);
            }
        }
    }
public部分类主页:PhoneApplicationPage
{
光选择任务光选择任务;
位图图像;
//建造师
公共主页()
{
初始化组件();
this.photoChooserTask=新的photoChooserTask();
this.photoChooserTask.ShowCamera=true;
this.photoChooserTask.PixelHeight=100;
this.photoChooserTask.PixelWidth=100;
this.photoChooserTask.Completed+=新事件处理程序(photoChooserTask_Completed);
}
私有无效按钮1\u单击(对象发送者,路由目标)
{
this.photoChooserTask.Show();
}
私有无效photoChooserTask_已完成(对象发送方,PhotoResult e)
{
如果(e.TaskResult==TaskResult.OK&&e.ChosenPhoto!=null)
{
this.image=新的BitmapImage();
this.image.SetSource(e.ChosenPhoto);
}
}
}

Hi Santhu,我实际上是在一个页面中编写代码的。如果我在photoChooserTask_Completed event handlder中放入if语句,则不会启动照片选择器。我的应用程序总是返回一个空的e。我不知道为什么。奇怪的是,在wp7 emulator上调试时一切都很好,但在wp7设备上却不行。当你与Zune连接时,你不能使用相机或照片选择器。相反,连接设备,关闭Zune,启动WPConnect.exe,然后您可以部署和调试,如果您愿意,还可以使用相机、照片甚至音乐。它通常位于此文件夹C:\Program Files\Microsoft SDK\Windows Phone\v7.1\Tools\WPConnect中,或者您断开设备与zune的连接,然后运行应用程序。简单地说,您需要在断开与zune的连接后运行应用程序(无法调试),或者您可以使用WPConnect.exe进行调试,但不能通过zune连接。确定,我想我已经找到了解决我问题的方法。