かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

WPF4.5入門 その39 「情報を表示するコントロール」

Labelコントロール

Labelコントロールは、コントロールに対するラベルを表示するコントロールです。LabelコントロールはButtonコントロールなどと同じContentControlを継承しているため、Contentプロパティに任意の値を設定してContentTemplateプロパティを使って、表示をカスタマイズできますが、文字列を指定するのが一般的です。

Labelコントロールは、「_アルファベット」でアクセスキーを提供して、Targetプロパティに設定したコントロールにフォーカスをうつす機能があります。

<StackPanel Margin="5">
    <Label Content="ファイル(_F)" Target="{Binding ElementName=textBox1}" />
    <TextBox x:Name="textBox1" />
    <Label Content="編集(_E)" Target="{Binding ElementName=textBox2}" />
    <TextBox x:Name="textBox2" />
</StackPanel>

上記の例ではAlt+FでtextBox1へフォーカスが移動し、Alt+EでtextBox2へフォーカスが移動します。

ProgressBarコントロール

ProgressBarコントロールは、ユーザーに処理の進捗状況を表示するためのコントロールです。ProgressBarコントロールは、Sliderコントロールと同じ親クラスを持っていて、Maximumプロパティ、Valueプロパティなどを使って値の範囲を指定することが出来ます。また、IsIndeterminateプロパティをtrueに設定することで、固定の値ではなく、何かの作業をしていることを示すアニメーションを表示することが出来ます。 以下に使用例を示します。

<StackPanel Margin="5">
    <Label Content="Maximum=100, Value=50" />
    <ProgressBar Maximum="100" Value="50" Height="20" />
    <Label Content="IsIndeterminate = True" />
    <ProgressBar IsIndeterminate="True" Height="20" />
</StackPanel>

実行すると、以下のようになります。

f:id:okazuki:20140816145654p:plain

StatusBarコントロール

StatusBarコントロールは、水平方向に項目を並べてユーザーに情報を表示するためのコントロールです。StatusBarコントロールは、StatusBarItemコントロールを内部に複数持ち、SeparatorコントロールでStatusBarItemコントロールの間を区切って表示することもできます。主に画面の下部に表示することが多いコントロールです。

以下にStatusBarコントロールの使用例を示します。

<StatusBar>
    <StatusBarItem>
        <TextBlock Text="ステータスバーのサンプル" />
    </StatusBarItem>
    <Separator />
    <StatusBarItem>
        <ProgressBar IsIndeterminate="True" Width="150" Height="10"/>
    </StatusBarItem>
    <StatusBarItem>
        <TextBlock Text="情報表示に使用します" />
    </StatusBarItem>
</StatusBar>

実行すると以下のようになります。

f:id:okazuki:20140816145811p:plain

TextBlockコントロール

TextBlockコントロールは、テキストを画面に表示するためのコントロールです。基本的な使い方はTextプロパティに文字列を設定して使います。

<TextBlock Text="文字列を指定します" />

TextBlockコントロールは、Textプロパティ以外にInlinesというプロパティもあり、ここにRunやHyperlinkをつかって書式付のテキストやハイパーリンクを挿入することもできます。

<TextBlock>
    <Run Text="いろいろ指定できる" />
    <Hyperlink NavigateUri="http://www.bing.com">リンクできる</Hyperlink>
    <Run Foreground="Red" Text="色も付けれる" />
    <Run FontFamily="メイリオ" Text="フォントも変えれます" />
    <LineBreak />
    <Run Text="改行も入れることができます" />
</TextBlock>

このXAMLは、以下のように表示されます。

f:id:okazuki:20140816150002p:plain

過去記事