Presentation is loading. Please wait.

Presentation is loading. Please wait.

 Rob Relyea Architect Microsoft Corporation robrelyea.com/blog  Daniel Roth Program Manager Microsoft Corporation TL36.

Similar presentations


Presentation on theme: " Rob Relyea Architect Microsoft Corporation robrelyea.com/blog  Daniel Roth Program Manager Microsoft Corporation TL36."— Presentation transcript:

1  Rob Relyea Architect Microsoft Corporation robrelyea.com/blog  Daniel Roth Program Manager Microsoft Corporation TL36

2

3

4

5

6

7

8

9

10

11

12

13

14

15 Textual -.Xaml Ok Red Canvas Button Object Graph Compact Binary –.Baml StartObject StartMember TeST StartObjectStartMember ST=Can vas ST=Butt on SM=Child ren SM=Backgroun d SM=Cont ent “Gr een ” “Ok”“Ok” “Ok”“Ok” TeST “Red”“Red” “Red”“Red” “Can cel” StartMember StartObjectStartMember ST=Butt on SM=Backgroun d SM=Cont ent DOM Tree TN “Gree n” “Ok”“Ok” “Ok”“Ok” TN “Red”“Red” “Red”“Red” “Cancel ” ON PN ST=Canv as SM=Childr en PN SM=Backgroun d SM=Conte nt SM=Backgroun d SM=Conte nt ON ST=Butto n ON ST=Butto n

16 XAML Documents

17 1) StartObject 3) StartMember 4) End Member 5) Value Type Member instance 2) End Object 6) Namespace Prefix, NamespaceUri

18  Rob Relyea Architect XAML & WPF

19

20

21 XML Nodes to XAML Nodes Resolve Type Information Create Object Graph XML Nodes Object Graph object XamlReader.Load(XmlReader) XML Nodes Object Graph object XamlReader.Load(XmlReader) XML Node to XAML Node XAML Node to Objects Type Resolution XML Nodes to XAML Nodes Resolve Type Information Create Object Graph

22  Rob Relyea Architect XAML & WPF

23 XML Nodes Object Graph object XamlReader.Load(XmlReader) XML Nodes Object Graph object XamlReader.Load(XmlReader) XML Node to XAML Node XAML Node to Objects Type Resolution XML Nodes to XAML Nodes Resolve Type Information Create Object Graph

24 BAML File Object Graph object application.LoadComponent(Uri) BAML Node to XAML Node XAML Node to Objects Type Resolution BAML File Object Graph object application.LoadComponent(Uri) BAML Nodes to XAML Nodes Resolve Type Information Create Object Graph

25 public abstract class XamlReader: Idisposable { public abstract bool Read(); public abstract XamlNodeType NodeType { get; } public abstract string Namespace { get; } public abstract string Prefix { get; } public abstract XamlType Type { get; } public abstract bool IsObjectFromMember { get; } public abstract XamlProperty Member { get; } public abstract object Value { get; } public virtual void Skip() public virtual XamlReader ReadSubtree() public abstract XamlSchemaContext SchemaContext { get; } … }

26 public abstract class XamlWriter : Idisposable { public void WriteNode(XamlReader reader) public abstract void WriteNamespace( string xamlNamespace, string prefix); public abstract void WriteStartObject(XamlType type, bool isObjectFromMember); public abstract void WriteEndObject(); public abstract void WriteStartMember( XamlProperty property); public abstract void WriteEndMember(); public abstract void WriteValue(object value); public abstract XamlSchemaContext SchemaContext { get; } … }

27 Object Graph XML Nodes XML Nodes void XamlWriter.Save(Object, XmlWriter) Object Graph XML Nodes void XamlWriter.Save(Object, XmlWriter) Objects to XAML Node XAML Nodes to XML Nodes Type Resolution Objects to XAML Nodes Resolve Type Information Write XML Nodes

28  Rob Relyea Architect XAML & WPF

29 Object Graph XML Nodes XML Nodes void XamlWriter.Save(Object, XmlWriter) Object Graph XML Nodes void XamlWriter.Save(Object, XmlWriter) Objects to XAML Node XAML Nodes to XML Nodes Type Resolution Objects to XAML Nodes Resolve Type Information Write XML Nodes

30 XamlXmlWriter XamlXmlReader ObjectWriter ObjectReader BamlWriter BamlReader X X D D B B O O DomReader DomWriter Xaml Loading @ Runtime (X to O) Optimizing Xaml to Binary Form (X to B) Binary Form Loading @ Runtime (B to 0) Designers – loading into a DOM & Objects Xaml Saving (O to X) Primary Scenarios

31 PDF File XAML File void PdfFile.SaveAsXaml(pdfFileName, xamlFileName) Draw correct arrow here PDF data to XAML Nodes Resolve Type Information Write XML Nodes

32 PDF File Object Graph object PdfFile.LoadAsObjects(pdfFileName) Draw correct arrow here PDF data to XAML Nodes Resolve Type Information Create Object Graph

33

34 WPF WFWCF

35

36 WCF WF WPF.NET 3.0.NET 3.5.NET 4.0 Rich XAML support XAML with code behind No XAML support Limited XAML support Limited XAML support

37  Daniel Roth Program Manager XAML & Connected Framework

38 WPF App WF Workflow WCF Client Operation WCF Client Operation WCF Client Operation WCF Client Operation Update UI WCF Advice Service1 WCF Advice Service2 Button.Click

39

40

41

42 Please fill out your evaluation for this session at: This session will be available as a recording at: www.microsoftpdc.com

43

44 © 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.

45


Download ppt " Rob Relyea Architect Microsoft Corporation robrelyea.com/blog  Daniel Roth Program Manager Microsoft Corporation TL36."

Similar presentations


Ads by Google