Features Missing from Silverlight 2 Beta 2

Posted by Matt | Filed under , , ,

I have been playing with Silverlight 2 Beta 2.  I've always liked creating WPF applications (even if the UI performance is poor), but being able to create the same applications in a browser environment is pretty cool.

However, there are some fundamentals needed to create really good GUI applications under Silverlight:

  1. Ability to derive directly from FrameworkElement and overloading MeasureOverride(), ArrangeOverride(), GetVisualChild(), and VisualChildCount are necessary
  2. Ability to draw directly to a DrawingContext are necessary

These are 2 features which are fundamental to creating a full graphics editor.

Because of #1, all custom controls must be derived from other custom controls.  If you want a custom container, it must be derived from Canvas, etc.  Even if your control is not a container in the traditional sense of the word, it needs to be a container if you want to do any custom drawing, because you cannot just draw, you must create child geometry controls which must be contained within your non-container control.

Because of #2, you have to keep a map between your data objects and your on-screen graphical objects.  Doable, but it's going through hoops to accomplish something simple in a desktop application.

Comments are closed