PowerShellからXAMLで作ったウインドウを扱ってみる。
XAML自体は直接作るのは面倒なのでVisualStudioからコピーする。
Windowのx:Classの指定はエラーになるようなので削除する(行削除)
後はXAMLの記述をヒア文字列で定義してWindows.Markup.XamlReaderクラスのParseメソッドで変換してあげるだけのようだ。
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 | $xaml = @" <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525"> <Grid> <Button Content="Button" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="230,138,0,0" Name="button1"/> <Label Content="Label" HorizontalAlignment="Left" Height="34" Margin="198,202,0,0" VerticalAlignment="Top" Width="171" Name="label1"/> </Grid> </Window> "@ Add-Type -AssemblyName PresentationFramework, PresentationCore, WindowsBase $window = [Windows.Markup.XamlReader]::Parse($xaml) $button = $window.FindName("button1") $label = $window.FindName("label1") $button.add_Click({$label.Content = "Hello World"}) $window.ShowDialog() | Out-Null |
実行すると以下のウインドウが表示されて、
ボタンをクリックすると「Hello World」が表示される。
Windowsフォームより使いやすいかも。
0 件のコメント:
コメントを投稿