かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

PageクラスってUserControlだったんだね・・・

Windows Developer Daysに参加してきてWindows 8熱が高まったと同時に極度の疲労のため木曜日と金曜日も疲れが抜けず、土曜日に至っては、犬の散歩とごはん以外ず〜〜〜〜っと寝てた今日この頃です。土曜日はPCに向かう気力すら出なかったくらい!日曜日は、なんとか回復傾向にある感じです。

そんな近況は置いといて、Windows 8 CPを普段使いのPCにして(普段やってるゲームも普通に動いてびっくり・・・)Visual Studio 11をいじってる今日この頃なんですが、Windows 8には守るべきデザインの原則があったりするので、それならページのスタイル定義して、その中でTemplate定義して、確保しなきゃいけない余白とかアプリケーションのタイトルとか戻るボタンとかを置いておけばいいじゃ〜んと思ってやってみたのですが、Windows 8で画面にあたるPageクラスってUserControlを継承して作られてるみたいです・・・。定義をのぞいてみるとこんな感じ。

using System;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Navigation;

namespace Windows.UI.Xaml.Controls
{
    public class Page : UserControl
    {
        public Page();

        public AppBar BottomAppBar { get; set; }
        public static DependencyProperty BottomAppBarProperty { get; }
        public Frame Frame { get; }
        public static DependencyProperty FrameProperty { get; }
        public NavigationCacheMode NavigationCacheMode { get; set; }
        public AppBar TopAppBar { get; set; }
        public static DependencyProperty TopAppBarProperty { get; }

        protected virtual void OnNavigatedFrom(NavigationEventArgs e);
        protected virtual void OnNavigatedTo(NavigationEventArgs e);
        protected virtual void OnNavigatingFrom(NavigatingCancelEventArgs e);
    }
}

UserControlだと何ができないってTemplateサポートしてないんですよね・・・。ちょっとがっくし。ということで悶々とし直す今日この頃でした。