visual studio 2015 リリース記念 勉強会 universal windows platform app
TRANSCRIPT
自己紹介
•名前/SNS• 大田 一希
• Twitter: @okazuki
• Blog• かずきのBlog@hatena
http://okazuki.hatenablog.com/
• その他• Microsoft MVP for Windows Platform Development
• Minecraftはじめました
• Spring Boot(Java)はじめました
Visual Studio 2015で開発できるアプリ(一部)
Visual Studio 2015
C#
Web ネイティブ
ASP.NET
従来のデスクトップ
Windows
FormsWPF
Xamarin
iOS
Windows 8
Windows
Phone
Windows
Store
app
Universal
Universal
Windows
Platform
app
And
roid
Visual Studio 2015で開発できるアプリ(一部)
Visual Studio 2015
C#
Web ネイティブ
ASP.NET
従来のデスクトップ
Windows
FormsWPF
Xamarin
iOS
Windows 8
Windows
Phone
Windows
Store
app
Universal
Universal
Windows
Platform
app
And
roid
Universal Windows Platform(UWP)
•以下の環境で動く• PC
• Desktop
• Tablet
• Mobile
• IoT
• Surface Hub
• Xbox
• HoloLens
• ワンバイナリ
強化されたVisual State Manager
• VisualStateに以下のプロパティが追加された• StateTriggersこのステートに来るための条件を設定できる
• SetterStyleなどのSetterと同じ要領でプロパティの変更を書ける(プロパティを変えるためだけにStoryboardを書かなくてもいい)
強化されたVisual State Manager
AdaptiveTriggerでWindowの最小幅を指
定することが出来る。
その最小幅まではそのStateになる。
SetterのTargetでコントロール名.プロパティの
書式で変更対象を指定してValueで変更
後の値を指定する。
RelativePanel
• VisualTreeを深くせずに複雑なレイアウトが可能(らしい)
•相対位置によるレイアウト+Margin+Alignment• 画面の上下左右の端や中央
• とあるコントロールの上下左右の端や中央
• RelativePanel.LeftOf=“Button1”のように記述していく
RelativePanelの添付プロパティ
• Above: 上
• Bellow: 下
• RightOf: 右
• LeftOf: 左
• AlignRightWith: 指定したコントロールの右に合わせる
• AlignLeftWith: 指定したコントロールの左に合わせる
• AlignRightWithPanel: パネルの右に合わせる
• AlignLeftWithPanel: パネルの左に合わせる
• Top, Bottom, HorizontalCenter, VerticalCenter, etc…
RelativePanelWindow title
起点
AlightL
eftWith
AlighRig
htWith
AlignTopWith
AlignBottomWith
AlignVerticalCent
erWith
AlignHorizontalC
enterWith
RelativePanelWindow title
AlignTopWithPanel
AlignLeftWithPanel
AlignBottomWithPanel
AlignRightWithPanel
AlignVerticalCenterWithPanel
AlignHorizontalCenterWith
Panel
SplitView
• DisplayMode表示形式• Inline
• インライン形式
• Overlay• 上にかぶさる形式
• CompactInline• 完全に隠れないInline
• CompactOverlay• 完全に隠れないOverlay
• IsPaneOpen• Paneが表示中かどうか
• CompactPaneLength• DisplayModeがCompactの時の表示幅
AppBar
•画面下(上)に置けるボタンを配置するためのコントロール• UWPでは、画面の何処にでも置ける
• PrimaryCommandが初期状態で表示される
• SecondaryCommandが…を押したときにメニューっぽく表示される
• Contentプロパティに任意のコントロールを置ける
アダプティブコード
以下のAPIを使って型が提供されているかどうかを判定して処理を書いていく。
• ApiInformation• IsTypePresent
• IsPropertyPresent
• IsEventPresent
• etc…
https://msdn.microsoft.com/ja-jp/library/windows.foundation.metadata.apiinformation.aspx
まとめ
• Universal Windows Platform app• 様々なプラットフォームで1バイナリで動く
• PC
• Mobile
• SurfaceHub
• Xbox
• HoloLens
• アダプティブUI
• アダプティブコード
まとめ
• 強化されたVisual State Manager• AdaptiveTriggerでレスポンシブ対応が簡単に可能
• RelativePanel• VisualTreeを深くせず複雑なレイアウトが可能
• VSMと連携して再配置が容易
• SplitView• ハンバーガーメニュー
• AppBar• より汎用的なコントロールとなっている
• AppInformation• アダプティブなコードを書くための肝のAPI