SlideShare a Scribd company logo
http://windows.Microsoft.com
Developer’s guide to Windows 10
Adaptive UI
권영철 / MVP + 바이널아이
Phone Small Tablet
2-in-1s
(Tablet or Laptop)
Desktops
& All-in-OnesPhablet Large Tablet
Classic
Laptop
Xbox IoTSurface Hub Holographic
Windows 10
http://windows.Microsoft.com
Agenda
The adaptive story : 어댑티브가 뭔데?
Adaptive tooling : 어떤 도구가 있는데?
The adaptive story
http://windows.Microsoft.com
(반응)
http://windows.Microsoft.com
(적응)
http://windows.Microsoft.com
(비례 확대/축소)
http://windows.Microsoft.com
Tailored design
새 술은 새 부대에, 특별한 장치에는 특별한 경험을
Phone (portrait)
Tablet (landscape) / Desktop
http://windows.Microsoft.com
Tailored design
Build pages/code for individual families
Use MRT in App.xaml.cs to determine the family
One-handed interface?
Typically phone or small tablets
Test diagonal screen size (<7")
if (physical_diagonal_size <= 7)
// optimized for one-handed operation
rootFrame.Navigate(typeof(MainPage_OneHanded), e.Arguments);
else
rootFrame.Navigate(typeof(MainPage), e.Arguments);
Multi-headed solution?
다행히 살아 남았습니다.
http://windows.Microsoft.com
Dedicated, targeted apps
Adaptive tooling
http://windows.Microsoft.com
Visual States
Define XAML views
Unique layout for distinct states
Simplify animation
Automatically implement state transitions
Build in Blend
Design and preview states and transitions
http://windows.Microsoft.com
Visual States
http://windows.Microsoft.com
http://windows.Microsoft.com
Visual States
http://windows.Microsoft.com
Visual States
http://windows.Microsoft.com
Visual States
DEMO
Visual states
다양한 View의 변화는
Visual states가 책임집니다.
DEMO
Visual States Manager
http://windows.Microsoft.com
How to set the visual state
VisualStateManager.GotoState(element, state, transition)
public MainPage()
{
this.InitializeComponent();
this.SizeChanged += (s, e) =>
{
var state = "VisualState000min";
if (e.NewSize.Width > 500)
state = "VisualState500min";
else if (e.NewSize.Width > 800)
state = "VisualState800min";
else if (e.NewSize.Width > 1000)
state = "VisualState1000min";
VisualStateManager.GoToState(this, state, true);
};
}
DEMO
Adaptive triggers
Adaptive triggers,
이거 하나면 코드가 필요없습니다.
http://windows.Microsoft.com
Adaptive triggers
Code-free state transition
Two built-in triggers
MinWindowHeight (Taller than this)
MinWindowWidth (Wider than this)
<VisualState x:Name="VisualState500min">
<VisualState.StateTriggers>
<AdaptiveTrigger MinWindowWidth="501" />
</VisualState.StateTriggers>
</VisualState>
DEMO
Custom triggers
Custom triggers,
별의별 시나리오를 싹다 지원합니다.
http://windows.Microsoft.com
WindowsStateTriggers
A collection of custom visual state triggers
Morten Nielsen, MVP + community
GitHub, MIT license
Based on StateTriggerBase class
https://github.com/dotMorten/WindowsStateTriggers
http://www.sharpgis.net/post/2015/03/24/Using-Custom-Visual-State-Triggers
http://windows.Microsoft.com
WindowsStateTriggers
DeviceFamilyStateTrigger
NetworkConnectionStateTrigger
OrientationStateTrigger
IsTrueStateTrigger (IsActive)
IsFalseStateTrigger
IsNullOrEmptyStateTrigger
IsTypePresentStateTrigger
EqualsStateTrigger
NotEqualStateTrigger
CompareStateTrigger
InputTypeTrigger
RegexStateTrigger
ComposisiteStateTrigger
…
Currently available triggers
http://windows.Microsoft.com
Visual state setters
Setting a simple, scalar value
Great when you think of ENUM values like Visibility, Stretch, etc
Does not invoke a storyboard
Does not require ObjectAnimationUsingKeyFrames
<VisualState.Setters>
<Setter Target="MyText01.FontSize" Value="24" />
<Setter Target="MyImage.Stretch" Value="UniformToFill" />
<Setter Target="MyImage.Height" Value="150" />
</VisualState.Setters>
http://windows.Microsoft.com
XAML's RelativePanel control
A child or two act as a anchor elements
They are relative to the panel
Other children are relative to the anchors
RelativePanel.Above = "ElementName"
RelativePanel.RightOf = "ElementName"
RelativePanel.Below = "ElementName"
RelativePanel.LeftOf = "ElementName"
RelativePanel simplifies adaptive UI
A simple Visual State setter can rearrange the UI
One element can move a family of related elements
DEMO
Relative Panel
Adaptive UI,
선택이 아닌 필수입니다.
http://windows.Microsoft.com
Review
The adaptive story : 어댑티브가 뭔데?
Adaptive tooling : 어떤 도구가 있는데?
http://windows.Microsoft.com
ReviewSource
https://channel9.msdn.com/Series/A-Developers-Guide-to-Windows-10
http://www.microsoftvirtualacademy.com/training-courses/a-
developers-guide-to-windows-10
http://windows.Microsoft.com
ReviewSourceSource
권영철, MVP + VINYL I
zerosteeler@outlook.com
010-4522-8103
20150912 Adaptive UI 권영철

More Related Content

PDF
Sspc pa 2-2012
PDF
조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015
PDF
[Td 2015]조막만한 화면에서 대박만한 화면까지. 고생 끝 적응(adaptive ui) 시작(권영철)
PDF
DotNet Cologne 2015 - Windows 10 AppDev, Teil3: Schönes für Entwickler - (Dan...
PPT
Software companies pakistan
PPT
Internet marketing services
PDF
Infographic: The 2016 State of Small Business Marketing
PDF
3D Printed Wireless Mouse
Sspc pa 2-2012
조막만한 화면부터 대박만한 화면까지 고생 끝 적응(Adaptive UI) 시작! - TechDays Korea 2015
[Td 2015]조막만한 화면에서 대박만한 화면까지. 고생 끝 적응(adaptive ui) 시작(권영철)
DotNet Cologne 2015 - Windows 10 AppDev, Teil3: Schönes für Entwickler - (Dan...
Software companies pakistan
Internet marketing services
Infographic: The 2016 State of Small Business Marketing
3D Printed Wireless Mouse

Viewers also liked (6)

PDF
HACKBCBR - IBM - Percival Lucena
PDF
Exponents lesson 4 numbers in exponential form raised to a power
PPTX
Korean Phonology
PDF
Manual seguridad salud talleres reparacion vehiculos
PDF
Pipe Hydrotest , Inspection, Visual and Dimensional Inspection & Marking
PDF
Robo-Advisors: Industry Changers or Also-Rans?
HACKBCBR - IBM - Percival Lucena
Exponents lesson 4 numbers in exponential form raised to a power
Korean Phonology
Manual seguridad salud talleres reparacion vehiculos
Pipe Hydrotest , Inspection, Visual and Dimensional Inspection & Marking
Robo-Advisors: Industry Changers or Also-Rans?
Ad

More from 영욱 김 (20)

PDF
20170701 microsoft 오픈소스의 종류와 활용법
PDF
20160511 Azure Datacenter
PDF
20160511 azure를 기반으로한 인공지능 io t 생태계 구축 전략
PDF
20160412 이미테이션 게임과 it기업들의 인공지능
PDF
20160409 서브라임텍스트 대신 visual studio code로 만들어 보는 웹 환경
PDF
20160408 smart farm
PDF
20151117 IoT를 위한 서비스 구성과 개발
PDF
20150728 100분만에 배우는 windows 10 앱 개발
PDF
20150912 windows 10 앱 tips tricks
PDF
20150912 IoT 디바이스를 위한 windows 10 iot core 입문
PDF
201500912 Hello Windows 10
PDF
4시간만에 따라해보는 Windows 10 앱 개발 샘플코드
PDF
20150812 4시간만에 따라해보는 windows 10 앱 개발
PDF
Arduino Coding
PDF
C Language For Arduino
PDF
IoT Devices And Arduino
PDF
20150212 사례로보는 Microsoft IoT와 서비스 개발
PDF
20150207 Node.js on Azure - MeltingPot seminar in Busan
PDF
크로스 플랫폼 기술과 오픈소스로 진화하는 Microsoft의 개발자 생태게
PPTX
20141216 멜팅팟 부산 세션 i - microsoft 사물인터넷
20170701 microsoft 오픈소스의 종류와 활용법
20160511 Azure Datacenter
20160511 azure를 기반으로한 인공지능 io t 생태계 구축 전략
20160412 이미테이션 게임과 it기업들의 인공지능
20160409 서브라임텍스트 대신 visual studio code로 만들어 보는 웹 환경
20160408 smart farm
20151117 IoT를 위한 서비스 구성과 개발
20150728 100분만에 배우는 windows 10 앱 개발
20150912 windows 10 앱 tips tricks
20150912 IoT 디바이스를 위한 windows 10 iot core 입문
201500912 Hello Windows 10
4시간만에 따라해보는 Windows 10 앱 개발 샘플코드
20150812 4시간만에 따라해보는 windows 10 앱 개발
Arduino Coding
C Language For Arduino
IoT Devices And Arduino
20150212 사례로보는 Microsoft IoT와 서비스 개발
20150207 Node.js on Azure - MeltingPot seminar in Busan
크로스 플랫폼 기술과 오픈소스로 진화하는 Microsoft의 개발자 생태게
20141216 멜팅팟 부산 세션 i - microsoft 사물인터넷
Ad

Recently uploaded (20)

PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPT
Teaching material agriculture food technology
PPTX
Spectroscopy.pptx food analysis technology
PDF
cuic standard and advanced reporting.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Encapsulation theory and applications.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Cloud computing and distributed systems.
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Machine learning based COVID-19 study performance prediction
MIND Revenue Release Quarter 2 2025 Press Release
Teaching material agriculture food technology
Spectroscopy.pptx food analysis technology
cuic standard and advanced reporting.pdf
Electronic commerce courselecture one. Pdf
Encapsulation theory and applications.pdf
sap open course for s4hana steps from ECC to s4
Spectral efficient network and resource selection model in 5G networks
The Rise and Fall of 3GPP – Time for a Sabbatical?
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Programs and apps: productivity, graphics, security and other tools
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Building Integrated photovoltaic BIPV_UPV.pdf
The AUB Centre for AI in Media Proposal.docx
Network Security Unit 5.pdf for BCA BBA.
Cloud computing and distributed systems.
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
20250228 LYD VKU AI Blended-Learning.pptx
Machine learning based COVID-19 study performance prediction

20150912 Adaptive UI 권영철