M2: XAML Controls
2683 ワード
このセクションでは、インタフェースに簡単なXAML Controlを追加する方法について説明します.この例では、
感謝祭のカードプログラムを実現し、そのインタフェースはテキスト表示コントロール
前の章の内容が完了していることを確認してください.
ページに、新たに
ページに、新たに2つ
可視化インタフェースに切り替えると、ステップ2で2つのButtonが重なっていることがわかり、2つのButtonが並んでいるように、3番目のコントロール
まず、祝福語を得るプログラムロジックを実現しましょう.tbGetMessage Buttonのプロパティで、クリックイベント
そして、マウスで文字列変数strを定義します. strの値を
コードは次のとおりです.
Grid
、TextBlock
、Button
、およびStackPanel
コントロールを使用します.XAML自身のすべてのコントロールが宣言されているWindows.UI.Xaml.Controls
このクラスライブラリでは、MSDN 1に行って様々なXAMLコントロールの使用を詳しく知ることができます.感謝祭のカードプログラムを実現し、そのインタフェースはテキスト表示コントロール
TextBlock
と、2つのボタンコントロールButton
から構成されています.Button 1は、お祝いのメッセージを取得するために使用され、Button 2は、現在のお祝いのメッセージをメールで友人に送信するために使用されます.前の章の内容が完了していることを確認してください.
Grid Control
に2行の宣言を追加します.<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
</Grid>
ページに、新たに
TextBlock Control
を追加し、Gridの最初の行に位置付けします.プロパティを次のように設定します.<TextBlock x:Name="tbMessage" Text="Hello, Click to Start..." Grid.Row="0"/>
ページに、新たに2つ
Button Control
を追加し、Gridの2行目に位置付けします.プロパティを次のように設定します.<Button x:Name="btnSendMail" Content="Send to Friend" Grid.Row="1" />
<Button x:Name="btnGetMessage" Content="Get a Wishes" Grid.Row="1" />
可視化インタフェースに切り替えると、ステップ2で2つのButtonが重なっていることがわかり、2つのButtonが並んでいるように、3番目のコントロール
StackPanel Control
を追加し、StackPanelを使用して2つのButtonを包みます.修正後のコードは次のとおりです.<StackPanel Orientation="Horizontal" Grid.Row="1" Padding="4">
<Button x:Name="btnSendMail" Content="Send to Friend" Grid.Row="1"/>
<Button x:Name="btnGetMessage" Content="Get a Wishes" Grid.Row="1"/>
</StackPanel>
まず、祝福語を得るプログラムロジックを実現しましょう.tbGetMessage Buttonのプロパティで、クリックイベント
GetMessage_Click
を追加します.変更したコードは次のとおりです.<Button x:Name="btnGetMessage" Content="Get a Wishes" Grid.Row="1" Click="GetMessage_Click"/>
そして、マウスで
GetMessage_Click
のいずれかをクリックし、キーボードでF 12キーを押してCode Behind
コードに入ります.MainPage.xaml.cs
ファイルにおいて、GetMessage_Click
メソッドにおいて、実現プログラムロジックは以下の通りである.TextBlock
のText属性に付与する.コードは次のとおりです.
private void GetMessage_Click(object sender, RoutedEventArgs e)
{
string str = "Happy Thanksgiving!";
tbMessage.Text = str;
}