今回は、ファイルダイアログを使用して画像を選択し、表示する方法について見ていきます。
デザインは以下のようにします。
XAMLは以下の通りです。
<Grid x:Name="LayoutRoot" Background="White"> <Button x:Name="btnOpenFile" Content="Button" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="75" Click="btnOpenFile_Click"/> <Image x:Name="imgPicture" HorizontalAlignment="Left" Height="224" Margin="10,57,0,0" VerticalAlignment="Top" Width="358"/> </Grid>
ボタンクリック時のコードを以下に示します。
VB.NETの例
Imports System.Windows.Media.Imaging Private Sub btnOpenFile_Click(sender As Object, e As RoutedEventArgs) Dim dlgOpen = New OpenFileDialog() If dlgOpen.ShowDialog() = True Then Dim image = New BitmapImage() image.SetSource(dlgOpen.File.OpenRead()) imgPicture.Source = image End If End Sub
C#の例
using System.Windows.Media.Imaging; /// <summary> /// ボタンクリック時の処理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnOpenFile_Click(object sender, RoutedEventArgs e) { var dlgOpen = new OpenFileDialog(); if ( dlgOpen.ShowDialog() == true ) { var image = new BitmapImage(); image.SetSource(dlgOpen.File.OpenRead()); imgPicture.Source = image; } }
ファイルファイアログを使用するには OpenFileDialogクラスを使用し、ダイアログを表示するには ShowDialogメソッドを使用します。
ShowDialogメソッドは、ファイルが選択された場合に true を返します。
if 文を使用して、ファイルが選択されたことを判断したら、次にイメージを表示します。
コード中の image.SetSource の部分は、BitmapImageクラス(画像を取り扱うクラスです)のインスタンスの SetSourceメソッドに ファイルダイアログで選択されたファイルのストリームを渡しています。
最後に、イメージの表示を行います。、MainPage.xamlに配置した Imageコントロールの Sourceプロパティに、先ほどのBitmapImageのインスタンスをセットします。
実行結果イメージは下記の通りです。
Please follow and like us:
コメント