1 Catching up on Rich Clients (round 1) Mike Ormond, Mike Taulty Developer & Platform Group Microsoft Ltd

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Reprint Outstanding Transactions Report © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Purchase Requisitions - Requester © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
demo Default WANGPSLookup Default WANGPS.
Developing Rich Web Applications with Silverlight Mike Ormond Developer & Platform Group Microsoft Ltd
ASP.NET 3.5 Mike Ormond Developer & Platform Group Microsoft Ltd
Scenario Fixed look with some logic Split large page into smaller chunks Reuse xaml/logic in multiple places Platform Support … … public partial.
 Stephen Walther ASP.NET MVC Ninja Microsoft Corporation PV31.
Amalga UIS Modules Medical Imaging Research Foundation Quality Measures Other HealthVault Partner Applications Microsoft Partner Solutions.
Interactivity Navigating a data model Working with large quantities of data Entry Editing and adding data User feedback and validation Presentation.
What’s new in ASP.NET 3.5? Mike Ormond Developer & Platform Group Microsoft Ltd
Co- location Mass Market Managed Hosting ISV Hosting.
Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
Multitenant Model Request/Response General Model.
Feature: Purchase Order Prepayments II © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: OLE Notes Migration Utility
Feature: Web Client Keyboard Shortcuts © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Session 1.
travel Suru Windows 7 Release NET 4.0 / Surface 2.0 Release Multi-Touch Controls Multi-Touch API Surface Multi-Touch Controls & API Surface.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
 Rico Mariani Architect Microsoft Corporation.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Target: dependency property Source: any public property CLR and WPF properties Target: dependency property Source: any public property CLR and WPF properties.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Print Remaining Documents © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Connect with life Connect with life
NEXT: Overview – Sharing skills & code.
Understand what kind of applications Windows Presentation Foundation can deliver See how Visual Studio 2008 & Microsoft Expression Blend work together.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
The Microsoft Technical Roadshow 2007 Rich Client Development in XAML Mark Johnston Developer & Platform Group Microsoft Ltd
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Overview of Silverlight Mike Taulty Developer & Platform Group Microsoft Ltd
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
demo Instance AInstance B Read “7” Write “8”

customer.
Mike Taulty Developer & Platform Group Microsoft Ltd
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
The CLR CoreCLRCoreCLR © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

DoRon Motter Development Lead Microsoft Corporation
Build accessible Metro style apps using XAML
Windows Azure Jeffrey Ferman Program Manager 3-006
6/10/ :23 PM TOOL-504T A deep dive into Visual Studio 11 Express for designing Metro style apps using XAML Joanna Mason & Unni Ravindranathan Program.
9/11/ :22 PM What’s New for Silverlight and Windows Presentation Foundation (WPF) Developers in Microsoft Visual Studio 2010 Mark A Wilson-Thomas.
MIX 09 9/12/2018 8:06 AM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Возможности Excel 2010, о которых следует знать
Title of Presentation 12/2/2018 3:48 PM
Overview of Silverlight 2
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.
DEV312 基于WPF的数据绑定.
Silverlight Debugging
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Silverlight 2 Mike Taulty Developer & Platform Group Microsoft Ltd
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
Шитманов Дархан Қаражанұлы Тарих пәнінің
Title of Presentation 5/24/2019 1:26 PM
Presentation transcript:

1 Catching up on Rich Clients (round 1) Mike Ormond, Mike Taulty Developer & Platform Group Microsoft Ltd

Microsoft UI Technologies ASP.NET ASP.NET AJAX Win FormsSilverlightWPFDirectX

Agenda Foundations Declarative Development (XAML) Animations Databinding Styling Controls Templating 10 More Things... Silverlight WPF

4 rich clients

XAMLXAML VS Project Files Tools VS2008 Sp1 Express Edition Silverlight Tools VS2008 Sp1 Express Edition Silverlight Tools Blend 2 Sp1 Design 2

XAML Based Development eXtensible Application Markup Language myXaml.xaml Declare a tree objects in XML rather than write code

Benefits of declaring UI in XAML Clear separation of UI from code Less (boilerplate) code to write/debug Easy for tools to read/write XML

XAML 101 – XML to.NET XML Elements map to instances of.NET Types XML Attributes map to properties of those instances

XAML 101 – XML to.NET Namespaces in the XML map to CLR namespaces Can be stated in the XML Or embedded into the assembly in question

XAML 101 – Content Properties Types can have a “default” or “content” property

XAML 101 – Conversion/Propeties Properties often need converters “Dotted” syntax for property values of complex type Capabilities for populating collections

XAML 101 – Code Behind Some XAML stands alone Other XAML needs to be “married” with code at load time Visual Studio generates code to wire up events at XAML load time

XAML 101 – Naming Code often needs to locate objects created in XAML Use naming in XAML to achieve this; Visual Studio uses this to make strongly typed member variables

XAML Extensibility Markup extensions (many built in) Custom classes/controls

XAML XAML is not always UI

16 Bit of XAML

You can animate most properties of objects WPF & Silverlight – a little more general: Might not be visual Might not be “movement” Animations & Triggers animate v. to present a series of images in rapid succession thereby creating the illusion of movement

Animation System

Anatomy of an Animation Trigger (or Code) StoryboardStoryboard AnimationAnimation StoryboardStoryboard AnimationAnimation AnimationAnimation AnimationAnimation Storyboard Properties BeginTime AutoReverse RepeatBehavior SpeedRatio... Storyboard Properties BeginTime AutoReverse RepeatBehavior SpeedRatio... Animation Properties BeginTime From / To / By Duration... Animation Properties BeginTime From / To / By Duration...

Animation Options Animation Types Double Point Color Thickness String... Animate By Simple Interpolation KeyFrame Linear Spline Discrete Path 05s1s1.7s4s Transforms Rotate Translate Scale Skew Matrix Transforms Rotate Translate Scale Skew Matrix

21 animations & triggers

Databinding is core Elements have a DataContext Resolution of declarative bindings is done by hierarchically examining an element’s DataContext ButtonButton GridGrid

Databinding is core

Data Binding Some requirements on underlying bound objects INotifyPropertyChanged INotifyCollectionChanged Also – need to consider DependencyObject and DependencyProperty in some cases Many options to tweak around binding; One-way or two-way binding Validation, Conversion When to notify of modifications etc...

25 Data Binding

Styles & Resources

Styles, Resources? Styles Styles allow us to collect properties in one place and apply them to many elements Resources Simple way to reuse commonly defined objects and values FrameworkElement class properties:.Style (as Style).Resources (as ResourceDictionary)

Styling a Button

Defining Resources Dictionary1.xaml

Consuming Resources StaticResource Evaluated once when page / window loads DynamicResource Lazy loaded Ongoing evaluation Implicit Keys Every resource has a key - not necessarily *explicit*

Some Observations Style Re-use, re-use, re-use Usually created in XAML Usually created as a resource Resources Not just about Styles

32 styles and resources

Controls – Silverlight “in the box” ButtonCalendarCheckboxComboboxDataGridDatePickerGridSplitterImageListBoxMediaElementMultiScaleImagePassword BoxPopupProgressBarRadioButtonScrollBarSliderTabControlTextBlockTextBox

Controls – WPF “in the box” ButtonCheckboxComboboxExpanderFlowDocumentReaderGridSplitterImageInkCanvasLabelListBoxListViewMediaElementMenuPasswordBoxPopupProgressBarRadioButtonRichTextBoxScrollBarSliderStatusBarTabControlTextBlockTextBoxToolBarTreeView

Controls – the “Toolkits” Silverlight Toolkit and WPF Toolkit (CodePlex) SilverlightSilverlightWPFWPF

you can build your own controls UserControl for composition of controls Panel for custom layout Control for ultimate flexibility incl. templating

or look to 3 rd parties

38 Controls

Control Templating Vanilla ControlStyled ControlCreate UserControlTemplated ControlCreate CustomControl FlexibilityFlexibilityComplexityComplexity Click Me! Appearance Behaviour Appearance Set the Control.Template property (ControlTemplate) Typically via a.... Style !

Data Template Allows me to define data’s visual representation

41 templating controls

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.