個人的な Powershell スクリプト用にレスポンシブ GUI を作成しようとしています。オンラインでよく議論されている問題を思いつきました: GUI のフリーズ(Powershell はシングル スレッドであるため)。
この問題に似ていますが、私のケースは Powershell に固有のものです。XAML フォームに依存する GUI を作成するための Powershell ベースのソリューションの実装に成功しました。さて、このコードを考えてみましょう:
#EVENT Handler
$Somebutton.add_Click({
$SomeLabel.Content = "Calculating..."
Start-Job -ScriptBlock {
#Computation that takes time
#...
$SomeLabel.Content = "Calculated value"
}
})
#Show XAML GUI
$xamlGUI.ShowDialog() | out-null
xamlGUI
はフォーム自体であり、$Somebutton
/$SomeLabel
は xaml から読み取って Powershell 変数に変換できたコントロールです。
計算が完了したときに、開始したジョブがラベルを更新しない理由を理解しようとしています。実際には何もしません。
私は Powershell の仕事に不慣れで、欠けているものがあるかどうか疑問に思っています。