情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Windows Phone 8 のコントロール

2014/06/18

対象: Windows Phone 8 および Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

Windows Phone アプリで使用できるコントロールには、さまざまな種類があります。ここでは、Windows Phone アプリで使用できるさまざまな種類のコントロールを分類し、それらのコントロールにコンテンツを追加する方法について説明します。

このトピックは、次のセクションで構成されています。

Windows Phone アプリは、ユーザーが複数のページのコンテンツを順に進むことができるページ モデルに基づいています。このモデルは、ユーザーがナビゲートするページ コントロールを含む 1 つのアプリ フレーム コントロールに基づいています。ページにはレイアウト コントロールが含まれ、レイアウト コントロールにはさらに追加のコントロールが含まれます。フレームとページ ナビゲーションの詳細については、「Windows Phone 8 アプリ内ナビゲーション」を参照してください。次の表に、Windows Phone アプリのナビゲーションを提供するために使用されるコントロールの一覧を示します。

Control

Location

メモ

PhoneApplicationFrame

Microsoft.Phone アセンブリ

Windows Phone アプリのメイン コントロール。このコントロールは、ページ間のナビゲーションをサポートします。

PhoneApplicationPage

Microsoft.Phone アセンブリ

PhoneApplicationFrame によるナビゲーションが可能なコンテンツをカプセル化します。

次の図に、フレームとページのモデルを示します。

Controls - Frame Page

他のコントロールを含むコントロールを、通常、レイアウト コントロールと呼びます。レイアウト コントロールは、他のコントロールやビジュアル オブジェクトのコンテナーです。名前が示すように、レイアウト コントロールはこれらの含まれるオブジェクトを画面上に配置するために使用されます。レイアウト コントロールは、ページ内のアプリのレイアウト ルートとして機能します。UI 内の他のすべてのオブジェクトは、このルートに含まれます。必要に応じて、レイアウト ルート内でさらにレイアウト コントロールを使用できます。新しい Windows Phone アプリを作成するときに、レイアウト ルートとして機能する Grid コントロールが作成されます。レイアウト ルートには、タイトル パネルやコンテンツ パネルとして機能する追加のレイアウト コントロールが含まれます。追加のレイアウト コントロールはコンテンツ パネルに追加します。さらに、アプリのレイアウト コントロールを選択するときに、アプリで横向きと縦向きのどちらをサポートするかを検討する必要があります。向きの詳細については、「クイックスタート: Windows Phone 8 の画面の向き」を参照してください。

多くのレイアウト コントロールは、Panel クラスから派生しています。パネルから派生したレイアウト コントロールの例として、StackPanelCanvas、および Grid があります。電話アプリのレイアウトに使用できるコントロールとして、さらに PanoramaPivot の 2 つのコントロールがあります。Pivotコントロールと Panorama コントロールは、ItemsControl から派生したもので、Windows Phone アプリで使用するために作成されました。これらのコントロールは含まれる項目数を少なくする必要がある点が通常の項目のコントロールとは異なります。通常の項目のコントロールでは、大きなリストが含まれる場合があります。これらのコントロールによって、ユーザーは項目間を容易にスワイプおよびパンできます。

次の表に、Windows Phone アプリのレイアウトおよび要素のグループ化で使用されるコントロールの一覧を示します。

Control

Location

メモ

Border

System.Windows アセンブリ

境界線、背景、またはその両方を他のコントロールに提供します。

Canvas

System.Windows アセンブリ

キャンバスの特定の座標に子要素を表示するサーフェイスを提供します。

ContentControl

System.Windows アセンブリ

単一の子要素を持つコンテナー コントロールを表します。子要素はオブジェクトであり、この子要素にさらに子要素を持つレイアウト コントロールを含めることができます。

Grid

System.Windows アセンブリ

子要素を表示する行および列で構成されるサーフェイスを提供します。グリッドの行および列を定義し、グリッドの特定の行または列にオブジェクトを割り当てます。

Panorama

Microsoft.Phone.Controls アセンブリ

左右にパンできる項目のパノラマ ビューを作成します。

Pivot

Microsoft.Phone.Controls アセンブリ

アプリ内で大きなデータ セットのビューを簡単に管理するための方法を提供します。このコントロールをナビゲーション インターフェイスとして使用して、大きなセットにフィルターを適用したり、ビューを切り替えたりすることができます。

StackPanel

System.Windows アセンブリ

水平方向または垂直方向に子要素を並べて表示するサーフェイスを提供します。

VirtualizingStackPanel

System.Windows アセンブリ

画面に表示されるコンテンツを整列し、必要に応じて追加の UI 項目を作成するスタック パネル コントロールを提供します。大きな項目のセットを処理する場合は、StackPanel よりも VirtualizingStackPanel の方がパフォーマンスが高くなります。

ScrollViewer

System.Windows アセンブリ

子要素を表示するスクロール可能なサーフェイスを提供します。

Windows Phone のレイアウト コントロールとレイアウト システムの詳細については、「Windows Phone 8 のレイアウト」を参照してください。

次の図に、縦向きと横向きの両方で使用されるレイアウト コントロールをいくつか示します。この図では、StackPanelCanvas は、列と行に基づくレイアウト システムを使用する、Grid 内に入れ子になっています。

Controls - Layout Controls

次の図に、Panorama コントロールと、これを使用して水平方向のコンテンツでビューを表示する方法を示します。

Controls - Panorama

テキスト コントロールは、通常、文字列コンテンツを表示します。テキスト コントロールには、目的の異なる複数の種類があります。詳細については、「クイックスタート: Windows Phone のテキスト」を参照してください。次の表は、Windows Phone アプリのテキスト コントロールの一覧です。

Control

Location

メモ

TextBlock

System.Windows アセンブリ

これを使用して、単純な読み取り専用のテキストのスニペットを表示します。コンテンツは、Text プロパティを使用して設定されます。

TextBox

System.Windows アセンブリ

通常、短いテキスト入力に使用されます。ただし、長い、複数行のテキスト入力に使用することもできます。コンテンツは、Text プロパティを使用して設定されます。

PasswordBox

System.Windows アセンブリ

ユーザーが入力するテキストをマスクします。コンテンツは、Password プロパティを使用して設定され、PasswordChar プロパティを使用してマスクされます。

このテキスト コントロールを次の図に示します。

Controls - Text Controls

ボタンと選択コントロールによって、ユーザーは簡単に項目を選択したり、アプリ内をナビゲートしたりすることができます。多くのボタンおよび選択コントロールは、ContentControl から派生しています。つまり、これらのコントロールにコンテンツを追加するには、Content プロパティを使用します。Content プロパティは Object 型であるため、コンテンツ コントロールに含むことができるコンテンツにほとんど制限はありません。Object から派生する多くのクラスには他のコントロールを含めることができるため、ContentControl 内に入れ子のコンテンツを作成できます。たとえば、イメージとテキストを含む StackPanel に対して、ボタンの Content プロパティを設定できます。ボタン コントロールの一覧を次の表に示します。

Control

Location

メモ

Button

System.Windows アセンブリ

ユーザー入力に応答し、Click イベントを発生させるコントロール。コンテンツは、Content プロパティを使用して設定されます。

HyperlinkButton

System.Windows アセンブリ

ハイパーリンクを表示するボタン コントロールを表します。ユーザーは、このボタンをクリックすることにより、HyperlinkButton によって同じ Web アプリの Web ページまたは現在のアプリの外部の Web ページに移動できます。コンテンツは Content プロパティによって設定され、ナビゲートする URL は NavigateUri プロパティによって設定されます。

次の表に、ユーザーが選択項目を指定するために使用できるコントロールの一覧を示します。

Control

Location

メモ

CheckBox

System.Windows アセンブリ

ユーザーがオンまたはオフにできるコントロールを表します。必要に応じて、チェック ボックスには中間状態もあります。コンテンツは、Content プロパティを使用して設定されます。

RadioButton

System.Windows アセンブリ

ユーザーはオプションの一覧から 1 つのオプションを選択できます。オプション ボタンをグループ化すると、複数のボタンを同時に選択できなくなります。コンテンツは、Content プロパティを使用して設定されます。

Slider

System.Windows アセンブリ

ユーザーがトラックに沿って一定範囲から値を選択できるコントロールを表します。Value プロパティはトラックの位置を決定します。

ボタンおよび選択 コントロールを次の図に示します。

Controls - Button Selection

次の表に、項目の一覧を表示するために使用できるコントロールの一覧を示します。

Control

Location

メモ

ListBox

System.Windows アセンブリ

ユーザーがクリックして選択できる項目の一覧を表示します。コンテンツは、Items または ItemsSource プロパティを使用して設定されます。各項目の外観は、DataTemplate を使用することによってカスタマイズできます。

メモメモ:
Windows Phone 8 プロジェクトで作業している場合、ツールボックスに ListBox コントロールは表示されません。 Windows Phone 8 アプリでは ListBox コントロールを使用できますが、項目の一覧を表示する場合は、LongListSelector コントロールが推奨されるコントロールです。

LongListSelector

Microsoft.Phone アセンブリ

データの長いリストをグループ化、表示、およびスクロールするために使用します。ScrollTo メソッドを使用すると、一覧にある特定の項目までスクロールできます。

項目の一覧を表示している ListBox コントロールを次の図に示します。

Controls - List Controls

イメージ、マップ、およびメディア コンテンツなどのリソースの表示は、Windows Phone アプリのリッチ ユーザー インターフェイスを構築するための重要な部分です。次の表に、イメージ、マップ、およびメディア ファイルなどのリソースを表示するためのコントロールの一覧を示します。

Control

Location

メモ

Image

System.Windows アセンブリ

イメージを表示します。コンテンツは、Source プロパティを使用して設定されます。Windows Phone アプリは PNG および JPG イメージ形式をサポートしています。

Map

Microsoft.Phone.Maps アセンブリ

マップを表示します。ツールボックスからアプリにコントロールをドラッグできますが、コントロールが実行時に正しく表示されるようにするには、アプリの ApplicationID および AuthenticationToken を取得する必要があります。詳細については、「Windows Phone 8 でマップ コントロールをページに追加する方法」を参照してください。マップを中心に配置し、拡大/縮小する方法を制御するには、Center プロパティと ZoomLevel プロパティを使用します。

MediaElement

System.Windows アセンブリ

このコントロールを使用して、オーディオとビデオを再生します。コンテンツは、Source プロパティを使用して設定されます。パフォーマンス上の理由から、アプリのサウンド効果を再生するためにこのコントロールを使用しないでください。代わりに、XNA Framework SoundEffect クラスを使用してください。

コンテンツを表示している ImageMap、および MediaElement コントロールを次の図に示します。

Controls - Image Map Media Controls

WebBrowser コントロールを使用して、アプリ内で HTML を表示できます。HTML を表示するためのコントロールの一覧を次の表に示します。

Control

Location

メモ

WebBrowser

Microsoft.Phone.Controls アセンブリ

レンダリングされた HTML を表示します。コンテンツは、Source プロパティを使用して設定されます。

コンテンツを表示している WebBrowser コントロールを次の図に示します。

Controls - Web Browser Control

優れた設計のアプリは、長時間の処理の進行状況やエラーが発生したことを示すメッセージなどのフィードバックをユーザーに提供します。ユーザーに進行状況やメッセージを表示するために使用できるコントロールの一覧を次の表に示します。

Control

Location

メモ

ProgressBar

System.Windows アセンブリ

操作の現在の進行状況をユーザー向けに表示します。このコントロールを使用して、操作の具体的な進行状況をレポートしたり、単に不確定モードで進行状況を示したりすることができます。

Windows Phone OS 7.1 Windows Phone OS 7.1:  Windows Phone OS 7.1 を対象とするアプリでこのコントロールを不確定モードで使用すると、アプリのパフォーマンスが低下する可能性があります。マイクロソフトでは、サポートされていませんが、PerformanceProgressBar という名前の代替コントロールも用意しています。詳細については、「不確定なカスタム進行状況バーを追加する」を参照してください。

Popup

System.Windows アセンブリ

既存のコンテンツ上にオーバーレイとしてコンテンツを表示します。これは、特定のタスクを実行するコンテンツを一時的に表示する場合に便利です。通常、UserControl を作成し、PopupChild プロパティとして設定します。IsOpen プロパティを true に設定して、Popup コントロールを表示します。

Popup よりも柔軟性の低い代替コントロールとして、MessageBox コンポーネントがあります。

次の図に、通常の不確定モードで、TextBlockButton、および ProgressBar を含む Popup コントロールを示します。

Controls - Popup Progress

表示: