PowerShellとXAML(Extensible Application Markup Language)を組み合わせて、手軽にデスクトップアプリのWPFフォーム画面を作成・表示する方法を解説します。
この記事でできること
外部のXAMLファイルに定義したWPFのウィンドウレイアウトをPowerShellから読み込み、独立したGUIフォーム画面として表示させることができます。
想定環境・前提条件
- OS: Windows 10 / Windows 11
- 実行環境: PowerShell 5.1 以降または PowerShell 7+ (Windows Presentation Foundation が利用可能な環境)
実行手順とサンプルコード
デスクトップ上に以下の2つのファイルを配置して、PowerShellスクリプトを実行します。
1. XAMLファイルの作成 (app.xaml)
デスクトップに app.xaml というファイル名で保存します。
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Title="My First XAML"
Width="320"
Height="240">
<Grid>
<TextBlock Text="Hello World" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="16"/>
</Grid>
</Window>
2. PowerShellスクリプトの作成 (XAMLBasedForm.ps1)
デスクトップに XAMLBasedForm.ps1 というファイル名で保存します。
using namespace System.Xml
Add-Type -AssemblyName PresentationFramework
$DeskTop = [System.Environment]::GetFolderPath([System.Environment+SpecialFolder]::Desktop)
$xamlFilePath = $DeskTop + "\app.xaml"
[xml]$xaml = Get-Content $xamlFilePath -Encoding UTF8
$nodeReader = (New-Object XmlNodeReader $xaml)
$window = [Windows.Markup.XamlReader]::Load($nodeReader)
$window.ShowDialog()
期待される結果
PowerShellから XAMLBasedForm.ps1 を実行すると、タイトルが「My First XAML」、サイズが 320×240 のウィンドウ中央に「Hello World」と書かれたWPFフォーム画面がモーダル表示されます。
一次情報・参考
Microsoft Learn: WPF (Windows Presentation Foundation)
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年9月12日
- 追加この記事でできること、想定環境・前提条件、実行手順、期待される結果を追加しました。
- 変更XAMLファイルとPowerShellスクリプトのコードブロック表現を Cocoon ブロック形式に修正しました。
