2017-06-19 47 views
-3

我有UWP应用程序,我有图像与URL源。从图像源获取网址并启动它(UWP)

这里是XAML代码:

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

我创建螺纹事件处理

这里是代码

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

但似乎不对。

我如何获取ImageSource并在浏览器中启动此URL(图像源是url)?

+0

你是什么意思?“但它似乎不正确。” ?绑定不起作用,或者您需要在某个查看器中打开缩略图? – saurabh

回答

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 
     } 
    } 
} 

还要注意,因为你可能希望将图像进行解码,因为你已经指定的图像尺寸呈现大小(即200×200),以节省一点记忆。如果您直接使用Image.Source,则不必执行此操作。

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