Powershell WPF Xamlファイルを用意せずGUIフォームを作成する例

PowerShell

System.Windows.WindowをObject化し実装すれば、Xamlファイルを用意せず、ゴリゴリとGUIフォームを作成する例

Xamlファイルを用意するよりも、昔ながらのゴリゴリとフォ作成する手法も取り入れて、GUIフォームを作成する方が、Powershell的にはやりやすい場合もありそう。

今の自分のスキルだと、こちらの方が馴染むかも。

サンプルコード

実行結果

PlusやMinusをクリックするとTextBoxの変数が変化する。

Write-Host "Ret=" $TextBox.Text

最後に$TextBox.Textの結果をコンソールに表示させる。

オブジェクトはXamlファイルで出力できる

ゴリゴリ作ったWindowオブジェクトをxamlファイルとして出力させることも可能

#オブジェクトをxamlファイル化
$xaml = [System.Windows.Markup.XamlWriter]::Save($Window)
Write-Host $xaml

#出来上がったxamlファイルをテキスト出力
$DeskTop = [System.Environment]::GetFolderPath([System.Environment+SpecialFolder]::Desktop)
$xamlFilePath = $DeskTop + "\WPFSample.xaml"

[System.IO.File]::WriteAllText($xamlFilePath, $xaml, [System.Text.Encoding]::UTF8)

参考にさせて頂いたサイト

PowerShellでWPFのダイアログを表示する : morituriのブログ
Windowsフォームと同じような方法で、WPFのダイアログを作ることもできる。 ※Windowsフォームを使う場合:powershellでWindowsフォームのモーダルダイアログを表示する ※書き方をちょっと改善する記事:PowerSh...
PowerShell DeepDive: WPF, Data Binding and INotifyPropertyChanged
PowerShell can be used to create some nice UI front-ends using the Windows Presentation Framework (WPF). You can create ...
ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

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