FacebookLoginPage.xamlと同じように、FacebookInfoPage.xamlを作成し、ツールボックスからデザイン画面上にコントロールを配置する。
書き出されるXAMLはリスト3のようになる。
<Page x:Class="PostPictureToFacebook.FacebookInfoPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:PostPictureToFacebook" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> <Viewbox>■(1) <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">■(2) <StackPanel VerticalAlignment="Top" Height="768"> <TextBlock HorizontalAlignment="Center" Height="69" TextWrapping="Wrap" Text="Facebookにアップロード画面" VerticalAlignment="Top" Width="631" FontFamily="Meiryo UI" FontSize="48"/>■(2) <Image x:Name="MainImage" Stretch="None" HorizontalAlignment="Center" VerticalAlignment="Center" />■(2) <TextBlock HorizontalAlignment="Center" Height="32" TextWrapping="Wrap" Text="コメント" VerticalAlignment="Top" Width="63" FontFamily="Meiryo UI" FontSize="20" FontWeight="Bold" RenderTransformOrigin="0.584,0.414"/> <TextBox x:Name="messageTextBox" TextWrapping="Wrap" AcceptsReturn="True" FontFamily="Meiryo UI" FontSize="36" Height="79" Margin="318,0,331,0" /> ■(3) </StackPanel> <AppBarButton x:Name="uploadButton" Icon="Upload" Label="Facebookにアップロード" Margin="1032,102,0,580"/>■(4) <ProgressRing x:Name="ProgressRing1" HorizontalAlignment="Left" Margin="1050,220,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.35,-0.35" Height="82" Width="82" IsEnabled="False" Foreground="Crimson" FontSize="36" />■(5) </Grid> </Viewbox>■(1) </Page>
各コントロールのレイアウトは図8だ。
以降、上記2つの画面と同様にソースコードに割り振った番号ごとに詳細に見ていこう。
Grid要素全体をViewBox要素で囲む。
StackPanel要素を配置し、その子要素として、タイトルを表示するTextBlock要素、読み込まれた画像を表示する、名前が「MainImage」というImage要素を配置する。
コメントを入力するための、名前が「messageTextBox」というTextBox要素を1個配置する。AcceptsReturnプロパティに「True」と指定して、改行の入力を可能にしておく。
名前が「uploadButton」というAppBarButton要素を配置し、プロパティからSymbolに「Upload」、Labelに「facebookにアップロード」と指定する。
アップロードされている間、回転して表示される、名前が「ProgressRing1」というProgressRing要素を配置する。最初の状態では使用不可としておく。
全てのプロジェクト内で共通して使用する変数を、手っ取り早くモジュール内で宣言しておく。
VS 2013のメニューから、[プロジェクト(P)]→[モジュールの追加(M)]と選択し、表示される画面から「モジュール」を選択する。「名前(N)」はデフォルトの「Module1.vb」のままで、[追加(A)]ボタンをクリックする。
表示されるモジュールのエディタ内にリスト4のPublic変数の宣言を行う。
Option Strict On ‘ Facebookの使用を可能にするクラスの含まれるFacebook名前空間をインポートする。 Imports Facebook ‘ ファイル、フォルダーおよびアプリケーションの設定を管理するWindows.Storage名前空間をインポートする。 Imports Windows.Storage Module Module1 ‘ 文字列型のaccessTokenパブリック変数を宣言する。 Public accessToken As String ‘ 文字列型のFileNameパブリック変数を宣言する。 Public FileName As String ‘ FacebookClientクラス型のPublic変数を宣言しておく。 ‘ FacebookClientクラスは、Facebookプラットフォームへのアクセスを提供するクラスだ。 Public myFB As FacebookClient ‘ ファイルを表すStorageFileクラス型のパブリック変数myFileを宣言する。 Public myFile As StorageFile End Module
これらの変数は、どのプロジェクトからでも参照可能になる。
Copyright © ITmedia, Inc. All Rights Reserved.