Skip to content

Are you building a XAML based file format or class library?

January 21, 2007

We want to make sure we are aware of customers (different groups, companies, or individuals) that are design XAML based XML formats and/or class libraries.

As I blogged previously, within Microsoft, we have already shipped several: – WPF (Windows Presentation Foundation) types – WPF/E* – WF (Windows Workflow Foundation) types – XPS (Xml Paper Specification) sdk entryMore
* – Currently only available as a CTP (community technology preview) release.

There are many people who are designing class libraries that are extensions of those – such as a set of custom controls for WPF or custom activities for WF. Right now I’m interested in learning of new formats and uses that people are finding XAML useful for – outside of extensions of previous declarative systems.

Please email me at rob.relyea at microsoft dot com.


From → XAML (non-UI)

  1. Simon permalink

    To nitpick.. the first namespace should probably end with /presentation instead…

  2. Rob permalink

    Thanks for catching my mistake there…corrected it.

  3. Owen permalink

    We are trying to do this but one issue is that x:Name object references are serialized to the g.cs file as internal fields.  This makes a lot of sense for windows and controls since it is unlikely that you would want to data bind to these or expose these publicly.  However, in our case we need to be able to data bind to x:Name object references and therefore require the XAML code dom serializer to output these as property accessors rather than internal fields.  Is there any way around this?

  4. Owen permalink

    Dead In The Water
    I have finally been able to confirm that there is no way to control the serialization process as discussed above and therefore XAML is not going to work for my XAML based class library.  If there is a future version of XAML more suited to 3rd party class libraries one suggestion for improvement is as follows:

    Add an overload to System.Windows.Markup.RuntimeNamePropertyAttribute similar to the following:
    RunTimeNamePropertyAttribute(string name, PropertyAccess access) where PropertyAccess is something like the following
    public enum PropertyAccess { PrivateField, ProtectedField, InternalField, ProtectedReadOnlyProperty,  InternalReadOnlyProperty, PublicReadOnlyProperty, ProtectedProperty, InternalProperty, PublicProperty }

    Then, depending on the PropertyAccess type passed, the code serializer would generate fields and the appropriate property accessors if required.
    What this would effectively do is set the default code serialization information on the basis of type.  If the default bahaviour needs to be overridden on a particular instance of the type (in XAML) a x:FieldModifier like construct could also possibly be included (however in our case this wouldn’t be important).

  5. Unknown permalink

    Amberdigital Branch,Southern Stars Enterprises Co is specializing in the development and manufacturing of screen advertisings, digital sign, digital signages and LCDs. Established in 1996, we have explored and developed the international market with professionalism. We have built a widespread marketing network, and set up a capable management team dedicated to provide beyond-expectation services to our customers.

    amberdigital Contact Us
    Southern Stars Enterprises Co (Hong Kong Office)
    Add:3 Fl, No.2, Lane 2, Kam Tsin Tsuen, Sheung Shui, Hong Kong
    Tel:+852 2681 4099
    Fax:+852 2681 4586
    Southern Stars Enterprises Co (Shenzhen Office)
    Add:DE, 16/F, Building 2, Nanguo Tower, Sungang Road, Shenzhen, China
    Tel:+86 755 2592 9100
    Fax:+86 755 2592 7171[aibhhffhcg

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: