作成日 | 2024/08/12 |
最終更新日 | 2025/01/29 |
wpfを利用して、選択した画像ファイルを表示するアプリを作成します 作成物のrepositoryはこちらです
button・imageを配置します[1]
MainWindow.xaml.cs に追記
<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>
現状のレイアウトはこうです
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>
挙動はこうです。思ってたよりすんなりできました