2014年10月30日木曜日

◆WPF(XAML)を使う

PowerShellからXAMLで作ったウインドウを扱ってみる。

XAML自体は直接作るのは面倒なのでVisualStudioからコピーする。
image

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

実行すると以下のウインドウが表示されて、

image

ボタンをクリックすると「Hello World」が表示される。

image

Windowsフォームより使いやすいかも。

0 件のコメント:

コメントを投稿