このページは役に立ちましたか。
このページのコンテンツについての ご意見をお待ちしております
その他にご意見はありますか。
残り 1500 文字
エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

クイックスタート: Windows Phone 8 へのコントロールの追加とイベントの処理

2014/06/18

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

ボタン、テキスト ボックス、ドロップダウン リストなどのコントロールを使用して、Windows Phone アプリの UI を作成できます。コントロールを使用する場合は、通常以下のパターンに従います。

  • コントロールはアプリの UI に追加します。

  • 幅、高さ、前景色などのコントロールにプロパティを設定します。

  • コントロールが何らかのアクションや機能を実行できるよう、コントロールのイベント ハンドラーにコードを割り当てます。

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

コントロールを Windows Phone アプリに追加するには、次のいくつかの方法があります。

  • Visual Studio の [ツールボックス] からコントロールを追加します。

  • XAML ビューでコントロールを追加します。

  • コードにコントロールを追加します。

次の図では、Visual Studio を使用し、Windows Phone を作成しています。アプリでコントロールを追加したり、操作したりするときは、ツールボックス、デザイン ビュー、XAML ビュー、[プロパティ] ウィンドウなど、Visual Studio のさまざまな機能を使用できます。

Using Controls - Designer

Visual Studio のツールボックスには、アプリで使用できる多数のコントロールが表示されます。次の図に、ツールボックス内の Windows Phone のコントロールの一部を示します。

UsingControls - Toolbox
ヒントヒント:

Windows Phone Toolkit には、電話の開発用のその他のコントロールがあります。ツールキットには、開発のさまざまな段階のコントロールが含まれています。成熟するに従い、ツールキット内の一部のコントロールはランタイムに移動されます。ツールキットの一部のコントロールは完全に削除されます。

アプリにコントロールを追加するには、ツールボックスでコントロールをダブルクリックします。また、コントロールをデザイン ビューにドラッグすることもできます。TextBox コントロールをダブルクリックすると、次の XAML が XAML ビューに追加されます。

<TextBox x:Name="MyTB" HorizontalAlignment="Left" Height="72" Margin="10,10,0,0" 
    Text="TextBox" VerticalAlignment="Top" Width="460" />

コントロールをコードで操作するには、コントロールの名前を参照します。各コントロールには一意の名前があります。コントロールの名前を変更するには、コントロールの Name プロパティを設定します。コントロールの名前は、Visual Studio の [プロパティ] ウィンドウまたは XAML で設定できます。次の図に、現在選択されているコントロールの名前を、[プロパティ] ウィンドウ上部の名前のテキスト ボックスを使用して変更する方法を示します。

UsingControls - Properties Window Name

次の図に、XAML ビューで Name 属性を変更して、名前を変更する方法を示します。

UsingControls - XAML lName

プロパティを使用して、コントロールの外観、コンテンツなどの属性を指定します。コントロールの名前と同様に、コントロールのプロパティも [プロパティ] ウィンドウ、XAML、またはコードで設定できます。TextBox の背景色を変更するには、コントロールの Foreground プロパティを設定します。次の図に、[プロパティ] プロパティ ウィンドウを使用して Foreground プロパティを設定する方法を示します。

UsingControls - Properties Window Foreground

XAML ビューを使用して Foreground プロパティを設定する例を次の図に示します。Visual Studio の IntelliSense ウィンドウが役に立つ構文と共に表示されます。

UsingControls - XAML Foreground

Foreground プロパティの設定後の結果の XAML を次に示します。

<TextBox x:Name="MyTB" HorizontalAlignment="Left" Height="72" Margin="10,10,0,0" 
    Text="TextBox" VerticalAlignment="Top" Width="460"
    Foreground="Red" />

コードで Foreground プロパティを設定する方法を次の例に示します。

SolidColorBrush scb = new SolidColorBrush(Colors.Red);
MyTB.Foreground = scb;

WidthHeightMargin など、一部のプロパティは、デザイン ビューでコントロールを選択して操作するだけで変更できます。次の図に、デザイン ビューで使用できるいくつかのサイズ変更ツールを示します。

UsingControls - Resize

各コントロールに用意されているイベントを使用して、ユーザーのアクションに応答できます。たとえば、Button コントロールには、Button をクリックすると発生する、Click イベントが含まれます。イベントを処理するには、イベント ハンドラーと呼ばれるメソッドを作成します。イベント ハンドラーは、[プロパティ] ウィンドウまたは XAML で作成できます。また、コードから手動でイベント ハンドラーを作成することも可能です。

イベント ハンドラーは、[プロパティ] ウィンドウの [イベント] タブを使用して作成できます。イベント ハンドラーを作成するには、コントロールを選択し、[プロパティ] ウィンドウ上部の [イベント] タブをクリックします。[プロパティ] ウィンドウに、選択したコントロールで使用できるすべてのイベントが一覧表示されます。次に、TextBox のイベントをいくつか示します。

Using Controls - Events Tab

イベント ハンドラーを作成するには、[プロパティ] ウィンドウでイベント名を指定します。イベント ハンドラーが作成され、コード エディターに分離コード ファイルが開きます。MyTB という TextBoxTextChanged イベントのイベント ハンドラーのコードを次に示します。TextBox のテキストを変更すると、MyBlock という TextBlockText プロパティが、入力したテキストに変更されます。

private void MyTB_TextChanged(object sender, TextChangedEventArgs e)
{
    MyBlock.Text = "You entered text!";
}

また、イベント ハンドラーは XAML から作成することもできます。XAML ビューで、処理するイベントの名前を入力します。入力を開始すると、XAML ビューに IntelliSense ウィンドウが表示されます。TextChanged イベントを XAML で指定する方法を次に示します。

UsingControls - XAML TextChanged

イベントを指定したら、表示される IntelliSense ウィンドウの [<新しいイベント ハンドラー>] をダブルクリックすることにより、既定の名前で新しいイベント ハンドラーを作成できます。次の図に、新しいイベント ハンドラーの作成を支援する IntelliSense ウィンドウを示します。

UsingControls - XAML TextChanged EventHandler

次の XAML は、MyTB_TextChanged というイベント ハンドラーに TextChanged イベントが関連付けらていることを示しています。

<TextBox x:Name="MyTB" TextChanged="MyTB_TextChanged" HorizontalAlignment="Left" Height="72"
    Margin="10,10,0,0" Text="TextBox" VerticalAlignment="Top" Width="260"
    Foreground"Red"
 />

また、分離コードでイベントのイベント ハンドラーを関連付けることがもできます。これを C# で行う方法を次のコードに示します。

MyTB.TextChanged +=new TextChangedEventHandler(MyTB_TextChanged);

表示:
© 2015 Microsoft