2017-06-19 16 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クラスが必要です。あなたは既にメモリのビットを節約するために、画像サイズ(すなわち200×200)を指定しているので、あなたのサイズをレンダリングするために画像をデコードする場合がありますので、

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

も注意してください。 Image.Sourceを直接使用している場合は、これを行う必要はありません。

<BitmapImage DecodePixelWidth="200" DecodePixelHeight="200" ... /> 
関連する問題