Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将照片选择器任务的选定图像获取到图像控制C#Windows phone 7_C#_Windows Phone 7 - Fatal编程技术网

将照片选择器任务的选定图像获取到图像控制C#Windows phone 7

将照片选择器任务的选定图像获取到图像控制C#Windows phone 7,c#,windows-phone-7,C#,Windows Phone 7,正在尝试将所选图像从照片选择器任务获取到图像控件中。 但是我犯了一个错误 "Cannot implicity convert type 'System.Windows.Media.ImageBrush' to 'System.Windows.Media.ImageSource'" 我该怎么做呢 我使用的代码是: var bitmapImage = new BitmapImage(); base.OnNavigatedFrom(e);

正在尝试将所选图像从照片选择器任务获取到图像控件中。 但是我犯了一个错误

"Cannot implicity convert type 'System.Windows.Media.ImageBrush' 
to 'System.Windows.Media.ImageSource'"
我该怎么做呢

我使用的代码是:

            var bitmapImage = new BitmapImage();
            base.OnNavigatedFrom(e);
            ImageBrush bgImage = new ImageBrush();
            bgImage.ImageSource = App.globalData.bitmapImage;
            image1.Source = bgImage; 

Basicall,错误是说您正在尝试将bgImage的ImageSource设置为现有imagebrush

尝试将代码更改为以下内容:

base.OnNavigatedFrom(e);
image1.Source = App.globalData.bitmapImage;
出现该错误是因为您试图创建新笔刷并将现有imagebrush指定为其imagesource属性。由于您已经有了一个imagebrush(App.globalData.bitmapImage),因此您可以删除与创建画笔有关的所有逻辑,并将其直接分配给图像源。(image1.Source=App.globalData.bitmapImage;)

附言

下面是我用来从photochooser任务中获取照片的一些代码:

    private void PhotoChooserCompleted(object sender, PhotoResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            var img = new BitmapImage();
            img.SetSource(e.ChosenPhoto);
        }
    }

Basicall,错误是说您正在尝试将bgImage的ImageSource设置为现有imagebrush

尝试将代码更改为以下内容:

base.OnNavigatedFrom(e);
image1.Source = App.globalData.bitmapImage;
出现该错误是因为您试图创建新笔刷并将现有imagebrush指定为其imagesource属性。由于您已经有了一个imagebrush(App.globalData.bitmapImage),因此您可以删除与创建画笔有关的所有逻辑,并将其直接分配给图像源。(image1.Source=App.globalData.bitmapImage;)

附言

下面是我用来从photochooser任务中获取照片的一些代码:

    private void PhotoChooserCompleted(object sender, PhotoResult e)
    {
        if (e.TaskResult == TaskResult.OK)
        {
            var img = new BitmapImage();
            img.SetSource(e.ChosenPhoto);
        }
    }

谢谢,现在我知道这背后的原因了。顺便问一下,有没有办法检查图像控件是否为空?空是什么意思?如果您的意思是没有设置源,那么是,您可以检查空值。(这是Source属性的默认值)-如果(image1.Source==null),我想检查图像控件当前是否在其中显示图像。然后是,您可以只检查Source属性。如果属性为null,则图像不显示任何内容。然而,就显示而言,您可能想考虑使用可见性来显示和隐藏图像,而不是将它的源属性剔除。现在我知道它背后的原因是什么。顺便问一下,有没有办法检查图像控件是否为空?空是什么意思?如果您的意思是没有设置源,那么是,您可以检查空值。(这是Source属性的默认值)-如果(image1.Source==null),我想检查图像控件当前是否在其中显示图像。然后是,您可以只检查Source属性。如果属性为null,则图像不显示任何内容。然而,就显示而言,您可能需要考虑使用可见性来显示和隐藏显示的图像,而不是将其显示为源属性。