Declarative based UI programming: WPF, Silverlight & Surface Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP.

Slides:



Advertisements
Similar presentations
Module 1: Creating an Application by Using Windows Presentation Foundation Overview of WPF Creating a Simple WPF Application Handling Events and Commands.
Advertisements

Chapter 3 – Web Design Tables & Page Layout
Microsoft SharePoint 2010 technology for Developers
Expression Blend 4 – deep dive
Data Binding in GUI Application Development Patrick O’Brien.
Dinko Jakovljević Microsoft Student Partner | BambooLab
An Introduction To Silverlight Gergely Orosz
Building Data Visualization Applications with the Windows Presentation Foundation and SilverLight...and Surface Tim Huckaby CEO, InterKnowlogy Microsoft.
1 Moderne GUI og Silverlight Windows Presentation Foundation.
Delivering the Art of Software WPF & Silverlight: Data Visualization, NUI, and Next Generation of User Experience Tim Huckaby Founder / Chairman, InterKnowlogy.
Level: All About Tim, InterKnowlogy & Actus… InterKnowlogy ( Tim Huckaby, Founder/Chairman ( )  Custom.
VW302-Integrating WPF And WCF Into Your Office Business Applications
WPF 3rd Party Controls WPF = Windows Presentation Foundation
©2011 Quest Software, Inc. All rights reserved. Steve Walch, Senior Product Manager Blog: November, 2011 Partner Training Webcast.
Session Code: IW-02 Building Powerful Applications for the Microsoft Office System Using Microsoft Visual Studio Tools for the Microsoft Office System.
Windows Presentation Foundation Tim Huckaby CEO, InterKnowlogy Microsoft Regional Director & MVP.
Creating Business Workflow Using SharePoint Designer 2007 Presented by Tarek Ghazali IT Technical Specialist Microsoft SQL Server MVP Microsoft SQL Server.
Chapter 4 Dreamweaver: Part II The Web Warrior Guide to Web Design Technologies.
2 A First Look at Windows Presentation Foundation Everywhere ("WPF/E") Joe Stegman Lead Program Manager Microsoft Corporation.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Jump into WPF! Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP Level: Beginner / Intermediate.
C-ME A Smart Client Front-end for SharePoint 2007 Tim Huckaby CEO – InterKnowlogy Microsoft Regional Director Microsoft MVP –.NET.
Introduction to Silverlight By Alan Cobb 2008-Jan-10 Sacramento, CA
1 COS240 O-O Languages AUBG, COS dept Lecture 33 Building Apps Technologies C# (WPF part 1)
Domain-Driven Design using the ADO.NET Entity Framework Tim McCarthy Principal Engineer, InterKnowlogy
VWP03: Building Data Visualization Applications with WPF & Silverlight Tim Huckaby Founder / Chairman, InterKnowlogy Founder / CEO, Actus Software Microsoft.
Visual Studio Connections
Introduction to Mobile Programming. Slide 2 Overview Fundamentally, it all works the same way You get the SDK for the device (Droid, Windows, Apple) You.
A Jumpstart to WPF by Kevin Grossnicklaus ArchitectNow.
1 Intro XAML Attribute syntax & property syntax Panels Reusable resources Controls Data binding Steen Jensen, spring 2014.
An Introduction to Silverlight Matt Harrington Developer Evangelist, Microsoft October 20, 2011.
Windows Presentation Foundation. Agenda Introduction Developing Applications WPF and WF interoperability Custom Controls Styles and Templates Data Binding.
Domain-Driven Design Tim McCarthy Principal Engineer, InterKnowlogy
Studio for WinRT XAML Russ Senior Developer Evangelist Greg Product Manager
Windows Presentation Foundation Adam Calderon Principal Engineer Interknowlogy LLC
Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP Declarative based UI programming: WPF, Silverlight & Surface.
Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP Jump into WPF!
Adam Calderon – C# MVP Application Development Practice Lead Interknowlogy.
LAYOUT CONTROLS. XAML Overview XAML : eXtensible Application Markup Language pronounced (ZAMEL) is a markup language used to design user interfaces XML-based.
Object Oriented Software Development 9. Creating Graphical User Interfaces.
Declarative based UI programming: WPF, Silverlight & Surface Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP.
Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP Building Data Visualization Applications with the Windows Presentation Foundation and SilverLight...and.
Tim Huckaby Founder, InterKnowlogy Microsoft RD & MVP SESSION CODE: WEB203.
Declarative Programming Layout and Controls Events and Commands Working with Data Styles.
New Features Overview. Agenda Silverlight - Intro Silverlight 3 New Features Overview with Demos, Demos and Demos… RIA Services Overview Demos, Demos,
Adam Calderon – C# MVP Application Development Practice Lead Interknowlogy.
A Lap Around Windows Presentation Foundation. Why hasn’t UX taken off in software? It’s Difficult! Animation 2D 3D Documents Styled Controls Video Windows.
Windows Presentation Foundation (WPF). Introduction Separates appearance of user interface from behavior Appearance usually specified by XAML Behavior.
C# kursus Rohde & Schwarz1 Moderne GUI Windows Presentation Foundation.
Tim Huckaby Microsoft Regional Director & MVP CEO, InterKnowlogy OFC307.
Building Data Visualization Applications with WPF Tim Huckaby InterKnowlogy, CEO Microsoft RD & MVP VPF303.
Module 3 Designing and Developing a User Interface.
Module 4 Taking Control of the User Interface. Module Overview Sharing Logical Resources in an Application Creating Consistent User Interfaces by Using.
.NET Framework Presentation. About Me Patrik Löwendahl –C# MVP –Certified Vista Touchdown Trainer Cornerstone
Silverlight 101 Ahead! If you know Silverlight and are looking for more advanced content check out : ‘Microsoft Silverlight “Media” : Moving at 60fps’
2 Data Visualization: WPF & XAML…and Silverlight…and Surface..and “the phone” Session Objective: To get you excited by showing you “what you can do”
Forms Manager. What is Forms Manager? Forms Manager is a completely new online form creation and form data management tool.
Part of the Microsoft.NET Framework 3.0 Tomer Shamam.NET Technologies Expert Sela Group
Adam Schultz MVVM and WPF. MVVM Model, View, ViewModel A software architecture designed to separate out User Interface design, Business Logic, and Data.
Introduction to Silverlight Development Pavel Yosifovich CTO, Matrix Global; Senior Instructor, Hi-Tech College
Introduction to Silverlight
Important New Concepts In WPF
Tech·Ed North America /20/ :01 PM
MGB 2003 Adam Calderon – C# MVP Principal Engineer Interknowlogy
Introduction to Silverlight
IVend Retail 6.5 Dashboard Designer.
WPF AKEEL AHMED.
Windows Presentation Foundation
MIX 09 12/8/2018 4:33 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Presentation transcript:

Declarative based UI programming: WPF, Silverlight & Surface Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP

About… InterKnowlogy ( Tim Huckaby, CEO  Custom Application Development / Consulting / Software & Systems Engineering Firm headquartered in Carlsbad, CA  Design, Architect, Build and Deploy Enterprise Class Applications  Industry Experts:  Most of the employees are published  Microsoft.NET Application development since 2000!  Microsoft.NET Smart Client pioneers / industry leaders  Information Worker Solutions (VSTO & SharePoint)  Integration / Messaging, B2B / B2C, Wireless / Mobility  Leading Edge: Surface, WPF, Silverlight, SharePoint, OBA, Windows 7 Touch  Cutting Edge Solutions on emerging Microsoft technologies  Largest Customer: Microsoft

Declarative Programming Layout and Controls Events and Commands Working with Data Session Agenda Styles

4 Reference Applications Demo Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP

Declarative Programming XAML replaces code Attributes control Layout and Style Event handlers wired-up in XAML Declarative Data Binding

What the heck is XAML? Separates the front-end from the back-end Simple declarative programming language suitable for constructing and initializing.NET Objects Usually the most concise way to represent user interfaces (or other hierarchies of objects) Doesn’t need a compile to render The language that almost all WPF related tools emit

Sample XAML Runs in a WPF Application: Runs in the Browser:

Declarative Programming Gotcha(s), tips & tricks Not all XAML is created equal Silverlight was designed to be a small subset of WPF not a direct port Surface works with gestures so unique versions of some controls are required The Surface SDK is going to permeate WPF and Silverlight to provide a consistent API for touch across the stack.

9 Declarative Programming: XAML ProductSeach in WPF & Silverlight Surface XAML Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP

Layout Overview Content rendering flows inside parent Fixed positioning (Canvas) is seldom used Panels are used to house content Margins and Padding over fixed size

Panels (ALL) StackPanel  Arranges child elements into a single line that can be oriented horizontally or vertically. Grid  A flexible grid area that consists of columns and rows. Canvas  An area within which you can explicitly position child elements by using coordinates that are relative to the Canvas area.

Panels (WPF and Surface) WrapPanel  Positions child elements in sequential position from left to right, breaking content to the next line at the edge of the containing box. DockPanel  An area where you can arrange child elements either horizontally or vertically, relative to each other.

Positioning Horizontal and Vertical Alignment Margin Padding Margin Text Block Padding

14 Layout Demo WPF -warehouse\ProductLocation.xaml Silverlight-StoreInformation.xaml (in controls/store) Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP

Controls Overview Not all controls are created equal Silverlight is a subset of WPF so certain controls have not ported over yet Surface relies on touch so it has unique versions of some controls

Standard Common Controls TextBox Button CheckBox / ComboBox Image ListBox Tab

WPF Controls Menu and Toolbar TextBlock InkCanvas / InkPresenter Expander TreeView DocumentViewer UniformGrid

Silverlight Controls DataGrid Calendar ProgressBar

Surface Controls ScatterView Menu TagVisualizer InkCanvas

20 Controls Demo Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP

Events and Commands Standard.NET Events Routed Events * Commands * * Partial or no support in Silverlight

Routed Events Bubbling *  Starts at the current element and bubbles up to the current element’s parent and that elements parent and so on [MouseLeftButtonDown] Tunneling *  Works opposite of bubbling and starts at the root element and works down to the originating element [PreviewMouseLeftButtonDown] Direct  Works like standard.NET event handling with only direct handlers being notified of events [Click] * Partial or no support in Silverlight

Commands Logical action that can be invoke in several ways Based on the RoutedCommand Class Uses both event tunneling [PreviewExecuteEvent] and event bubbling [ExecuteEvent] Not supported in Silverlight

24 Events and Commands Demo Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP

Working with Data Overview Simple Data Binding Complex Data Binding

Data Binding Overview Simple Field level Data Binding Complex Data Binding to multiple controls at a time (Master/Detail/Detail) Client-Side Sorting and Filtering Support for binding to Objects, XML and Relational data sources

Simple Data Binding Simple Data Binding using Business Objects Support for two-way synchronization in simple objects via the INotifyPropertyChanged interface Implicit and Declarative binding via the DataContext

Complex Data Binding Binding to Lists Supports two-way data binding to list if list inherits from ObservableCollection Data Templates Sorting Filtering Master/Detail/Detail

29 Working with Data Demo Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP

Adding Style to Your Application Overview Resources * Triggers * * Partial or no support in Silverlight

Styles Overview What are styles? Problems they address in WinForms 2.0  Styling controls one at a time  Unnecessary Custom Control Creation Similarities to Cascading Style Sheets  Inline declaration  Page level declaration  Separate file declaration

Style Examples

Resources Static Resources  Loaded when Window or Page Loads  Leads to slower page loading  Changes to underlining values are not propagated Dynamic Resources *  More overhead to allow for constant updates  Can only be used to set dependency properties  Can potentially improve Page and Window load time * Not supported in Silverlight

Resource Dictionary Contains hash table of resources Great way to organize resources Resource.MergedDictionaries combines many different file based resources * * Not supported in Silverlight

Triggers Setters that are set based on one or more conditions Three Types of Triggers  Property – Invoked when the value of a dependency property changes  Data – Invoked when the value of a plain.NET property changes  Event – Invoked when a routed event changes Not supported in Silverlight

The Silverlight Visual State Manager Alternative to Triggers in Silverlight Promotes separation between UI and code Controls have States and State Groups States within a State Group are immutable Fully supported in Blend Not supported in WPF

37 Adding Style to Your Application Tim Huckaby CEO, InterKnowlogy Microsoft RD & MVP

Summary Layout in XAML is flexible Each technology has it’s own set of controls Data Binding is rich & supports many data types Styles bring life to your applications The learning curve can be steep, but is worth it. Download all my resources and dedicate some time to learn.

Where to go next: Windows Client Guidance Microsoft Platform Solution Architecture for the Application Developer by Tim Huckaby The “Anchor Document” to a ton of Rich Client Guidance

WPF: Where to go Next Free Resources WindowsClient.net - this is the official Microsoft community portal for WPF development, and is chock full of great resourcesWindowsClient.net Windows Client Development Samples, Guidance, FAQs and Blogs - Contains an aggregation of a ton of great stuff on the Windows Client Development platform.Windows Client Development Samples, Guidance, FAQs and Blogs Learn WPF page - this page links to podcasts, labs, and the very popular "how do I?" videosLearn WPF page MIX University's WPF Bootcamp - this is a full 3-day video training course on WPF, in which expert instructors guide you from the surface into the depths of the technology stackMIX University's WPF Bootcamp

Silverlight & Surface: Where to go Next Free Resources - this is the official Microsoft community portal for Silverlight development - this is the official Microsoft community portal for Surface

Where to go Next Books Windows Presentation Foundation Unleashed (WPF) by Adam Nathan, Daniel LehenbauerAdam NathanDaniel Lehenbauer Essential Windows Presentation Foundation (WPF) by Chris AndersonChris Anderson Silverlight In Action by Chad Campbell and John Stockton

Where to go…soon… Windows Presentation Foundation A Scenario-Based Approach by Billy Hollis “Early April…I hope…” B. Hollis, 12/7/07 “October…” B. Hollis, 6/3/08 “It’s not going to be done in April.” B. Hollis, 2/24/09 “I took a.NET 4.0 dependency. Projected date now Jan 2010, because it can’t come out until VS2010 is released.” B. Hollis, 4/29/09

Where to go next : The InterKnowlogy WPF & Silverlight Reference Applications

Tim Huckaby, InterKnowlogy More info on InterKnowlogy:  Contact me: Tim Huckaby   Phone:  Blog : About Tim Huckaby  CEO, InterKnowlogy  Microsoft ® Regional Director – Southern California  Microsoft ®.NET Partner Advisory Council Founder / Member  Microsoft ® MVP -.NET  Microsoft ® Surface Partner Advisory Council  INETA Speaker – International.NET Users Group Association  Windows and.NET Magazine Advisory Board Member .NET Developers Journal Magazine Advisory Board Member  Author / Speaker