HOME >> Tips >> Microsoft.NET WPF

フォームにステータスバーを表示する

2012/06/22
文書番号:20381

フォームにStatusBarコンポーネントをツールバーからダブルクリックで追加すると、ステータスバーにも関わらず画面左上に配置された。
ドラッグしてみたところ、フォームの任意の位置に配置できるようなのだが、ステータスバーなのでやはり画面下部に配置したい。


クリックで拡大


動作確認環境:Visua Studio 2010(vb) .NET Framework 4.0



コントロール追加直後のxaml


<Window x:Class="MainWindow"
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>
<StatusBar Height="23" HorizontalAlignment="Left"
Margin="10,10,0,0" Name="StatusBar1" VerticalAlignment="Top" Width="120" />
</Grid>
</Window>

【設定手順】
  1. Width="120px"を削除します。

    クリックで拡大
  2. HorizontalAlignment="Left" を "Stretch"に変更します。

    クリックで拡大
  3. VerticalAlignment="Top" を "Bottom"に変更します

    クリックで拡大
  4. Margin="10,10,0,0" を "0,10,0,0"に変更します

    クリックで拡大


    4つの数字は左、上、右、下の順に指定します。
    (htmlのスタイルシートと一つズレるので注意)


  5. 変更後のxaml
    
    <Window x:Class="MainWindow"
    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>
    <StatusBar Height="23" HorizontalAlignment="Stretch"
    Margin="0,10,0,0" Name="StatusBar1" VerticalAlignment="Bottom" />
    </Grid>
    </Window>
    実行した画面(テキストを追加して表示)

    クリックで拡大


    Window のプロパティに ResizeMode="CanResizeWithGrip" を設定すると画面右下にフォームリサイズのグリップが表示されます。

    クリックで拡大