1

总之,我有一个基本的 Windows 7 Phone 应用程序,我刚刚完成了一个裁剪页面,用户可以在其中裁剪使用手机相机拍摄的图像。如果cameraCapTask_Completed我设置应用程序的全局WritableBitmap

public static WriteableBitmap capturedImage;

如下

void cameraCapTask_Completed(object sender, PhotoResult e)
{
    if (e.TaskResult == TaskResult.OK && e.ChosenPhoto != null)
    {
        // Take JPEG stream and decode into a WriteableBitmap object.
        App.capturedImage = PictureDecoder.DecodeJpeg(e.ChosenPhoto);

当我拍照时,我将它传递给CropProcessPage构造函数中的裁剪页面,我通过以下方式在页面中设置图像

public CropProcessPage()
{
    InitializeComponent();

    // Set the text and display captured image.
    imageMain.Source = App.capturedImage;

这行得通。但是,当我返回主页并重新拍摄/拍摄另一张图像时,当我尝试使用新图像时,会显示旧图像(拍摄的第一个图像)。构造函数被调用,相机捕获的事件也被调用(设置新图像)。我在这里做错了什么?

4

1 回答 1

1

在 CropProcessPage 中

移动线

imageMain.Source = App.capturedImage;

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
// Set the text and display captured image.
    imageMain.Source = App.capturedImage;
}
于 2012-04-05T18:06:31.960 回答