Welcome to WindowsClient.net | My Blog | Sign in | Join

Rob Relyea - XAMLified

WPF, Silverlight and XAML

Syndication

Sponsors





  • advertise here
Exploring: XamlPad to XamlDesigner

I’ve been exploring XamlPad and XamlDesigner features built on top of .NET 4. I plan to ship a XamlPad+ sample soon. After that, I’d like to provide guidance and/or small samples for all of the other steps to enable the Xaml Tools out there to continue to evolve at a rapid pace; hopefully with my teams help.

Who will find this useful? People who make their own XamlPad’s or Xaml based Designer’s today. People who want to learn how it could be done. Etc…

Would love to understand who finds this interesting (beyond those building XamlPad’s today). Feel free to comment or contact me directly ( rrelyea at microsoft dot com ).

I list some steps of evolution a XAML based tool can make from a simple Pad to a more powerful Designer.

[Updated 1/30/2010 with notes which of the following features are in XamlPadSample that I've posted]

XamlPad you Know and Love

XamlPad v3 -- (XamlPadSample step 1 and later contains this feature)

  • Edit the XAML in a TextBox, as you type, see changes show up in the View pane.

XAML UI Step: A few more basics -- (XamlPadSample step 1 and later contains this feature)

  • Supports Page or Window at root with Proxy object (since Page/Window classes can’t be hosted inside a standard WPF Window).
  • Strips Events
  • Strips x:Class

Next Steps to help UI (WPF/Silverlight) Scenarios

XAML UI Step: Support Application Resources -- (XamlPadSample step 1f and later contains this feature)

  • Supports {StaticResource foo} where foo is defined in App.xaml
  • Load ApplicationDefinition into ApplicationProxy class (primarily to grab app.Resources)
  • Inject resource holder as “root” element during parse with Resources property set to app.Resources

XAML UI Step: Silverlight Support

  • Use SilverlightSchemaContext (from XAML Toolkit)
  • Use a SilverlightHost control

Next Steps to help UI and non-UI Scenarios

XAML Step: Load Assemblies -- (XamlPadSample step 1f and later contains this feature)

  • Load built assembly & reference assemblies

XAML Step: Editor

  • Syntax Coloring
  • Intellisense (use XamlSchemaContext to provide type/member information)

XAML Step: PropertyGrid, Selection Model, SourcePreservation

  • Simple Property Grid
  • Selection model enabling selection in View surface or Xaml editor, and synchronized editor.
  • Source preservation of XAML with XamlDom based store

Next Steps to help non-UI Scenarios

XAML Step: Support View for non-UI XAML -- (XamlPadSample step 1f and later contains a start on this Alternate View feature)

  • Support providing a View and a Design Experience for non-UI XAML
Published Tuesday, January 19, 2010 11:01 AM by Rob_Relyea

Comments

# re: Exploring: XamlPad to XamlDesigner@ Tuesday, January 19, 2010 2:25 PM

I'm very interested in XAML tools / designers.

I'd like to use the XAML Toolkit in my app, but before I can do that I need to know the license it'll have once VS2010 is released.

by Daniel

# re: Exploring: XamlPad to XamlDesigner@ Tuesday, January 19, 2010 2:39 PM

Daniel-

We haven't finalized the license. What deltas would you like from the current license? Ability to distribute with your app and what else?

What pieces of the Toolkit are you most interested in?

Thanks, Rob

# Dew Drop – January 20, 2010 | Alvin Ashcraft's Morning Dew@ Wednesday, January 20, 2010 9:10 AM

Pingback from  Dew Drop – January 20, 2010 | Alvin Ashcraft's Morning Dew

# XamlPadSample – Step 1@ Wednesday, January 20, 2010 12:15 PM

XamlPadSample step 1 sample code is now available for download from robrelyea.com/.../XamlPadSample

# re: Exploring: XamlPad to XamlDesigner@ Wednesday, January 20, 2010 5:33 PM

I've already implemented some of these features(loading of resources from app.xaml and resource dictionaries), but I'm curious on how you will implement these features in your samples. I'm sure I can learn and borrow something from your code ;-).

I use these features for my localization tool to render a preview of the localized xaml file.

# re: Exploring: XamlPad to XamlDesigner@ Wednesday, January 20, 2010 8:06 PM

Hey Rob,

Great to see this announced & you probably know already that I'm interested in this :-)

A big +1 for me for Silverlight support.

I can live without features like IntelliSense although they'd be nice to have.

What I'd find especially useful is a "presentation" mode that;

1) Cut back all non-essential UI

2) Allowed for quick navigation through a set of pre-loaded files. i.e. maybe I hit the -> arrow key and the next file is loaded & displayed rather than having to drag a snippet.

3) Made it slick to show "here's a piece of XAML I'm highlighting for you & here's its effect on-screen".

Thanks,

Mike.

by Mike

# http://robrelyea.com/demos/xamlpadsample@ Saturday, January 30, 2010 2:09 PM

# XamlDesigner – View Only/View or XAML/SplitView/XAML with Preview/XAML Only@ Saturday, January 30, 2010 5:36 PM

Pausing to think about next steps after making strong progress in the “ Exploring: XamlPad to XamlDesigner

# re: Exploring: XamlPad to XamlDesigner@ Friday, June 25, 2010 6:01 AM

Hi Rob,

thank you very much for the XamlDesigner sample. I think we can use a lot of your Ideas in our planned WPF Designer. What do you think about using the XamlDom for (you wrote) source preservation? Do you know if it is planned to release XamlDom with one of the next .Net Releases?

by matzeooK

Leave a Comment

(required) 
(required) 
(optional)
(required)