.NET開発者のためのブログメディア

XAMLとVisual Studioを使ってStackPanelを編集する
WPFでアプリケーションを構築する場合、画面作成で多く使用される言語はXAMLになります。そのXAMLで使用するコントロールで重宝されるのが「StackPanel」です。StackPanelを使うことで上下または左右に要素を並べることができます。
- SE
- StackPanelを活用すればおしゃれな画面とか作れそうですね。でも本当に使う必要性はあるのでしょうか?
- PL
- もちろんあります!ボタンやラベルなどのコントロールを複数配置する場合、StackPanelを活用すると、保守性やデザイン面などでメリットがあります。
目次
StackPanelの概要について
Visual StudioにはWPFでアプリケーションを構築するためのコントロールが準備されています。それらをドラッグ・アンド・ドロップで配置するだけで、初心者でも簡単に画面を作成できます。
配置する時には赤いガイドラインが表示されますので、それらに従って配置すれば、ボタンなどのコントロールが揃った画面ができたように感じます。しかし、コントロールをただ配置しただけでは、後々のメンテナンス作業などがとても大変です。配置したコントロールが1個や2個なら問題ありませんが、10個、20個となるとWidthやHeightの数字を一律で変更するだけで労力が必要です。
後々のことも考慮して、かつコントロールがきれいに揃った画面を作成するのに役立つのがStackPanelです。StackPanelではデフォルト値として垂直方向にコントロールを並べることができます。水平方向に並べる場合はプロパティでOrientation=”Horizontal”を設定します。水平・垂直方向ともに配置したい場合は、StackPanelを入れ子にしてコーディングすることも可能です。
XAMLでStackPanelの編集方法について
StackPanelの使用方法について、実際のコーディングサンプルを例にして紹介します。
XAMLでの画面開発 StackPanelを使用してのレイアウト確認(ソース編)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<Window x:Class="WpfApp1.MainWindow" 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="450" Width="800"> <Grid> <StackPanel HorizontalAlignment="Left" Height="212" Margin="36,40,0,0" VerticalAlignment="Top" Width="322"> <Button Content="Button1" Height="30" Width="100"/> <Button Content="Button2" Height="30" Width="100"/> <TextBox TextWrapping="Wrap" Text="test" Height="30" Width="100"/> <StackPanel Orientation="Horizontal" Height="100"> <Button Content="Button3" Width="75"/> <Button Content="Button4" Width="75"/> </StackPanel> </StackPanel> </Grid> </Window> |
XAMLでの画面開発 StackPanelを使用してのレイアウト確認(デザイン編)
XAMLでの画面開発 StackPanelを使用しての実行例
Visual Studioの「開始」ボタンを押下して、作成した画面をテスト実行します。
- SE
- 複数のボタンをきれいに配置したいときは、今回学んだStackPanelを活用してみようと思います。
- PL
- 画面はユーザーが見るとても大事な部分です。WPFにはStackPanelという素晴らしいコントロールがあらかじめ搭載されていますので、積極的に利用していきましょう。
XAMLを学ぶ際にはStackPanelの勉強も忘れずに
StackPanelはVisual StudioでWPFアプリケーションを作成する際に、とても重宝されるコントロールです。開発現場で活用されることもありますので、XAMLを学ぶ際にはあわせて作成方法などを確認するようにしましょう。