SQLの窓

2012年08月31日


Windows Phone(C#) 基本テンプレートの解説



『Microsoft Visual Studio 2010 Express for Windows Phone』のプロジェクト作成で最初にある、処理そのものは実装されていないテンプレートです。
( ApplicationBar のコメントは外してあります )

MainPage.xaml.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;

namespace PhoneApp1
{
    public partial class MainPage : PhoneApplicationPage
    {
        // コンストラクター
        public MainPage()
        {
            InitializeComponent();
        }
    }
}
▲ 処理のない C# のソース

画面定義の解説

MainPage.xaml は画面の定義ですが、StaticResource という記述があり、事前に定義された値を読み込むようになっています。

既に定義されたリソースに対する参照を検索することによって、任意の XAML プロパティ属性の値を指定します。そのリソースに関する検索動作は、読み込み時検索に似ています。現在の XAML ページのマークアップとその他のアプリケーション ソースとから既に読み込まれているリソースを検索し、ランタイム オブジェクト内のプロパティ値としてそのリソース値を生成します。
実際の定義は、テーマの定義として『64-bit Operating Systems: C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Design』『32-bit Operating Systems: C:\Program Files\Microsoft SDKs\Windows Phone\v7.1\Design』といった場所にあります。( ThemeResources.xaml ) ■ Windows Phoneのテーマの概要Windows Phoneのテーマのリソース MainPage.xaml
<phone:PhoneApplicationPage 
    x:Class="PhoneApp1.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d" d:DesignWidth="480" d:DesignHeight="696"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait" Orientation="Portrait"
    shell:SystemTray.IsVisible="True">

    <!--LayoutRoot は、すべてのページ コンテンツが配置されるルート グリッドです-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>

        <!--TitlePanel は、アプリケーション名とページ タイトルを格納します-->
        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
            <TextBlock x:Name="ApplicationTitle" Text="マイ アプリケーション" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock x:Name="PageTitle" Text="ページ名" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <!--ContentPanel - 追加コンテンツをここに入力します-->
        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"></Grid>
    </Grid>
 
    <!--ApplicationBar の使用法を示すサンプル コード-->
    <phone:PhoneApplicationPage.ApplicationBar>
        <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/>
            <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/>
            <shell:ApplicationBar.MenuItems>
                <shell:ApplicationBarMenuItem Text="MenuItem 1"/>
                <shell:ApplicationBarMenuItem Text="MenuItem 2"/>
            </shell:ApplicationBar.MenuItems>
        </shell:ApplicationBar>
    </phone:PhoneApplicationPage.ApplicationBar>

</phone:PhoneApplicationPage>
Grid は、列と行で構成されている柔軟なグリッド領域を定義します。ここで、Grid.RowDefinitions は Grid のプロパティであり、 1 行目の Height の値は Auto に設定されています。この設定では、1行目の行内のコンテンツのサイズに基づいて、高さが均等に配分されます。そして、もう一つの定義で行は2行の定義である事を示し、2行目は1行目の高さの残りである事を示します。
( 3行の残り2行高さ比率分配の例 )

実際のコンテンツとして、StackPanelGrid が定義されていますが、この Grid は空で何もありません。StackPanel は、縦方向や横方向に子要素を配置します。Grid.Row は、一番外側の Grid がどの行の子コンテンツを表示するかを示す値をを設定しています。

Margin プロパティは一般的なものですが、CSS とは位置の意味が違うので注意です



アプリケーションバーの右上の3つの点をタップ(クリック)すると、メニューが表示されます

※ キャプチャは以下のようにして行います( 拡大率100% )



関連する Microsoft ドキュメント

アイコン ボタン画像の設置方法
Windows Phone のアプリケーション バー

関連する記事

アプリケーションバーのメニュー項目のクリック / Windows Phone(C#)
黒子のバスケが始まるまでに Windows Phone の開発環境を作る



タグ:Windows Phone C#
【Windows Phoneの最新記事】
posted by lightbox at 2012-08-31 13:52 | Windows Phone | このブログの読者になる | 更新情報をチェックする
バッチ処理

Microsoft Office
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり