空のテンプレートから始めるWindows 8 ストアアプリ
-
Upload
akira-hatsune -
Category
Technology
-
view
1.194 -
download
3
description
Transcript of 空のテンプレートから始めるWindows 8 ストアアプリ
空のテンプレから始めるWindows8ストアアプリ2012.11.03
MICROSOFT MVP FOR VISUAL BASIC / ORACLE ACE
初音玲
自己紹介
ミク好きですが元々「初音」です。
民間エヴァンジェリストです
Microsoft MVP for Developer Tools
Oracle ACE
Codezineで連載中
監修した翻訳本がでました。
図がわかりやすくなった
読みやすくなった
31日(月)Y-01b
おさらい
• Windows 8 ストアアプリアプリ
• Microsoftデザインスタイルデザイン
•なにそれ?おいしいの?UI名
Microsoftデザインスタイル? http://msdn.microsoft.com/en-us/library/windows/apps/hh464920.aspx
「hh464920」でbingる
なにがなにやら?
Windows 8 ストアアプリ
デスクトップアプリ
Microsoft Design Style UXガイド
Windowsストアアプリで配布従来型配布
WinRT
(Windows Runtime).NET Framework
忘れないで!
Windows 8 ストアアプリはWin7では開発できません
Windows Runtime使うから
Windows Phone 8アプリはWin8無印では開発できません
Hyper-V使うから
さあ、開発を始めよう
魅惑のテンプレートたち
困惑のテンプレートたち
グリッドアプリケーション
GroupItemPage
GroupDetailPageItemDetailPage
分割アプリケーション
ItemsPage
SplitPage
グリッドアプリケーションの作成例
テンプレートはStyleが花盛り<Button
x:Name="backButton"
Click="GoBack"
IsEnabled="{Binding DefaultViewModel.CanGoBack, ElementName=pageRoot}"
Style="{StaticResource BackButtonStyle}"/>
<TextBlock x:Name="pageTitle" Grid.Column="1"
Text="{Binding Title}"
Style="{StaticResource PageHeaderTextStyle}"/>
グリッドテンプレの問題点
複雑
複雑
複雑
複雑
複雑
複雑
こんなの絶対おかしいよ
分割テンプレの問題点
複雑
複雑
複雑
複雑
複雑
複雑
こんなの絶対おかしいよ
お勧めは空のテンプレート
最小のスタイル 最速の理解
たったこれだけ
最小のスタイル 最速の理解
つかえない
ロゴ画像
最小のスタイル 最速の理解
Style定義の
総本山
最小のスタイル 最速の理解
アプリ定義
最小のスタイル 最速の理解
MainPage
テンプレで
MainPage
つくるのは
これだけ
最小のスタイル 最速の理解
超重要
Package.appxmanifest
Package.appxmanifest
Package.appxmanifest
Package.appxmanifest
実行してみましょう
実行してみましょう???
あまりにも空なテンプレ
BindableBase.vb
LayoutAwardPage.vb
StandardStyles.xaml
SuspensionManager.vb
BindableBase
INotifyPropertyChanged
PropertyChangedイベント
SetPropertyメソッド
OnPropertyChangedメソッド
LayoutAwardPage
簡単なViewModelっぽいもの
中身は…
SuspensionManager使うために使ってあげてるんだからねっ!
StandardStyles.xaml
便利なスタイル詰め合わせ
ボタンアイコンがあるよ!<Style x:Key=“SaveAppBarButtonStyle” … >
<Setter … />
<Setter Property=“AutomationProperties.Name” Value=“Save" />
<Setter Property="Content" Value=""/>
</Style>
SuspensionManager
SessionState
SaveAsync
RestoreAsync
RegisterFrame
UnregisterFrame
SessionStateForFrame
使い方
Protected Overrides Sub OnNavigatedFrom ( …
‘hogehoge
MyBase.OnNavigatedFrom(e)
End Sub
Protected Overrides Sub OnNavigatedTo( …‘イベントハンドル登録
MyBase.OnNavigatedTo(e)
‘hogehoge
End Sub
アプリ例
Claudia Clock
ガイドライン準拠でフリーダムに