作成日 | 2024/08/12 |
最終更新日 | 2025/06/04 |
wpfを利用して、選択した画像ファイルを表示するアプリを作成します。 作成物のrepositoryはこちらです。
button・imageを配置します[1]。MainWindow.xamlに追記します
MainWindow.xaml
<Window x:Class="ImageTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:ImageTest" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition/> <ColumnDefinition/> </Grid.ColumnDefinitions> <Button Grid.Column="0" > open dialog </Button> <Image Grid.Column="1" x:Name="roadedImage" /> </Grid> </Window>
現状のレイアウトはこうです
MainWindow.xaml
private void Button_Click(object sender, RoutedEventArgs e) { selectFile(); } private void selectFile() { //OpenFileDialog OpenFileDialog openFileDialog = new OpenFileDialog(); { openFileDialog.Title = "ファイル選択ダイアログ"; openFileDialog.Filter = "すべてのファイル(*.*)|*.*"; //ファイル選択ダイアログを開く if (openFileDialog.ShowDialog() == true) { roadedImage.Source = new BitmapImage(new Uri(openFileDialog.FileName)); } } }
ダイアログを開くコード(Result.Ok と using)に関しては、動かなかったのでgptに聞いて修正しました。
また、このままだとボタンを押したときに何も起きないのでButtonのClickを利用して紐づけ作業を行います
<Button
Click="Button_Click"
Grid.Column="0"
>
open dialog
</Button>
挙動はこうです。思ってたよりすんなりできました。