从图像源获取URL并启动它(UWP)

时间:2017-06-19 21:05:46

标签: c# .net xaml uwp

我有UWP应用程序,其中我有带url源的图像。

这是xaml代码:

 <Image x:Name="Image" HorizontalAlignment="Left" Height="200"  Width="200" Tapped="Image_Tapped">
                        <Image.Source>
                            <BitmapImage UriSource="{Binding data.thumbnail}" />
                        </Image.Source>
                    </Image>

我创建了Tapped事件处理程序

这是代码

  private void Image_Tapped(object sender, TappedRoutedEventArgs e)
        {
            var source = Image.SourceProperty.ToString();
            Debug.WriteLine(source);
        }

但似乎不对。

如何在浏览器中获取ImageSource并启动此网址(图片来源为网址)?

1 个答案:

答案 0 :(得分:0)

您需要Launcher课程。

private async void Image_Tapped(object sender, TappedRoutedEventArgs e)
{
    if (((Image)sender).Source is BitmapImage bitmapImage)
    {
        var uri = bitmapImage.UriSource;

        // Launch the URI
        var success = await Windows.System.Launcher.LaunchUriAsync(uri);

        if (success)
        {
            // URI launched
        }
        else
        {
            // URI launch failed
        }
    }
}

另请注意,因为您已经指定了图像大小(即 200x200 )以节省一些内存,所以您可能希望将图像解码为渲染大小。如果直接使用Image.Source,则不必执行此操作。

<BitmapImage DecodePixelWidth="200" DecodePixelHeight="200" ... />