Can Blend be used to create Silverlight-driven online Help content? RRS feed

  • Question

  • I'm a Tech Writer, with a little programming knowledge. Currently I produce help content for our software, using the boring old CHM format [enter YAWN here].

    The company I work for has plans to rewrite our primary user application from scratch, developing it as an online application, using Blend to build the UI. I've been teaching myself blend/XAML (and C#), as I have a personal interest in it (having had a home-based sideline developing content in Flash, and wanting something better), and I would like to think that I'll be able to produce the help content for our future application(s) in Blend also. After all, it would seem stupid to have this great new application we build make use of a prehistoric CHM file for its online help.

    In theory I'm thinking I could just build a nice UI, and bind it to a database or XML files, which hold the Help content. But is this do-able or practical? Has anyone out there done this, or thinking about it? Or, is there an alternative approach? Is Blend going to be able to do what I want?


    Monday, April 12, 2010 3:36 AM

All replies

  • Im sure Silverlight could be used to do this, at the end of the day you are just displaying lists of data from a database, which is perfect for Blend/Silverlight.

    I have not "done it" but you should look into the "Master/Detail" implementations that people have made, which would fit the model of a help file nicely. Your main issue (IMO) is the formatting of each document, Im not sure how you would be best to go about that, maybe someone else could help with that... (you could store the XAML in a DB field and retrieve it all ready to go, but Im not sure about doing that, it just feels wrong to me)

    Monday, April 12, 2010 4:59 AM
  • I agree with Mark here, this is a great use case for Blend.
    Monday, April 12, 2010 3:13 PM
  • Blend will be able to help you design the UI, but I think you'll need more.  Here is an idea of how to approach it:

    1) Store the help data in a database.  You'll need keys for each topic to access the correct document in the database.  I would look into FlowDocument: I don't know much about it, but it is probably what you will want to use to store and display the docs themselves.

    2) Expose the help docs through a WCF service that receives the key and returns the assigned FlowDocument.

    3) Write a WPF or Silverlight Control that calls the Services and displays the FlowDocument.

    4) Use that Control in your application (or a generic "Help Document Reader" application), passing it the topic keys as necessary.


    Both the Services and the Control approach will give you a lot of flexibility in implementing your help docs.

    -- Joel Cochran - http://www.developingfor.net
    Monday, April 12, 2010 3:23 PM