かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

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

過去記事