PowerShell XAMLファイルを読み込んでフォーム画面を表示

PowerShellカテゴリを表すパンダのイラスト PowerShell

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 ブロック形式に修正しました。

文書情報

記事タイトル
PowerShell XAMLファイルを読み込んでフォーム画面を表示
作成日
更新日
Source URL
https://papanda925.com/?p=1738

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました