Download presentation
Presentation is loading. Please wait.
Published byVictoria Rice Modified over 10 years ago
1
Rob Relyea Architect Microsoft Corporation robrelyea.com/blog Daniel Roth Program Manager Microsoft Corporation TL36
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
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
34
WPF WFWCF
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
42
Please fill out your evaluation for this session at: This session will be available as a recording at: www.microsoftpdc.com
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.
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.