プロジェクトを新規作成→VisualBasicのWPFアプリ(.NET Framework)を選択。
やっべ、久しぶり過ぎて、訳わからんw VisualBasic 6.0時代とは大違い(当たり前)
とりあえずボタンやテキストを配置する為のツールバーを探してみる。
左側に「ツールボックス」があったので、クリック。
メニューバーの「表示(V)」→「ツールボックス(X)」でも開く。
Labelを配置して、次にButtonを配置・・・あれ?先に配置したLabelが消える。
どうやらStackPanelまたはCanvas等を先に配置しないと、複数のコントロールを配置できないようだ。
これが WPF(Windows Presentation Foundation)か・・・。
WPFの概要をググッて確認。
WPF のコアとなるのが、最新のグラフィックス ハードウェアを利用するように構築された、解像度に依存しないベクター ベースのレンダリング エンジンです。このコアは、Extensible Application Markup Language (XAML)、コントロール、データ バインディング、レイアウト、2-D グラフィックスおよび 3-D グラフィックス、アニメーション、スタイル、テンプレート、ドキュメント、メディア、テキスト、タイポグラフィなど、WPF が備えているアプリケーション開発機能の包括的なセットによって拡張されます。なるほど。
解像度に依存しないベクターベースで描画されるウィンドウがキモなのか。
Windowsのディスプレイの設定に「拡大縮小とレイアウト」と言う項目があるが、125%モードや、カスタム スケーリングに意識しなくても対応できるのだろう。
Labelコントロールに名前を付けて、ButtonコントロールのClickイベントにコードを記述
Class MainWindowウィンドウの構成(XAML)は以下の通り。
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
lab1.Content = "Hello World!!"
End Sub
End Class
<Window x:Class="MainWindow"誰かが似非XMLって言った(笑
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="190" Width="266">
<StackPanel HorizontalAlignment="Left" Height="154" Margin="6,9,0,0" VerticalAlignment="Top" Width="239">
<Label x:Name="lab1" Content="さぁ 新しい扉を開こう!" HorizontalAlignment="Left" Height="56" Margin="19,0,0,0" Width="192"/>
<Button Content="ここをクリック" HorizontalAlignment="Left" Height="63" Margin="19,0,0,0" Width="192" Click="Button_Click"/>
</StackPanel>
</Window>
んでデバックで実行を確認し、ビルド。 デバック(F5)で実行されるが激しく遅い。
それに対してビルドは一瞬。
以下、実行結果。
左がクリック前で、右がクリック後。
お決まりのHello World!!
0 件のコメント:
コメントを投稿