DayPath Journal

Some Ex-Silverlight-Guy Closure

I don’t even want to bother going into the details. But last year I was unable to properly record many of my findings from working with Telerik controls and Silverlight over RIA services. All I have now are a few scraps from the past and will try to piece them together:

Place RadControls for Silverlight Next to the Silverlight Toolkit

The assertion above is basically saying that it is possible to work with Telerik controls side-by-side with Microsoft’s “Silverlight Toolkit.” This was concern of mine because of the large XAP file sizes as a consequence—but the final product I was working on was delivered in an Intranet (in an enterprise still using many, many Windows XP machines—so using HTML 5 was seriously out of the question).

Avoid “Unbound Mode” for the Telerik RadGridView

I’m sure Telerik has moved on over a year but it must be said that I had serious trouble trying to use the RadGridView like a ‘tiny’ grid without a formal data source to bind to—the idea was to add new rows from code-behind, probably from MVVM Light messages. Eventually I learned to use the ‘tiny’ DataGrid from the Silverlight toolkit.

Do Send Messaging around DomainService SubmittedChangesEventArgs

One of the out-of-the box benefits of RIA Services was the paging data with the “Domain Service” concept. You could declare, in XAML, a RadDataPager with an associated DomainDataSource as described in “Q1 2010 New Feature: Paging with RadGridView for Silverlight and WPF.” (There were I vaguely recall, by the way, two different DomainDataSource controls—one from a Microsoft toolkit and the other from Telerik—I found out the hard way to use the one from Telerik.) This out-of-the-box stuff was at first very opaque to me until I discovered eventing around DomainDataSource, specifically DomainDataSource.SubmittedChanges. I am almost certain that I used the event data, specifically SubmittedChangesEventArgs.ChangeSet, to drive MVVM light messaging from View to View Model. The EntityChangeSet concept was the bee’s knees to me—until my ‘great discovery’ chronicled in “Songhay Studio: UX and DDD, my new acronym umbrella….

What is more is my very strong suspicion that Telerik dropped RIA services entirely for Silverlight and is now recommending the DataServiceDataSource.

The Desire to Experience an Elegant Solution for Many-to-Many Relations

One of the lasting issues taken away from my Silverlight project from last year is the UX around representing many-to-many relations. My ‘big discovery’ then was something like, ‘Hey! The classic master-detail visualization (one-to-many relations) is covered quite well with a grid and a form—but what about many-to-many relations? Today, there is still no satisfactory answer. But this question may be moot in the context of DDD. It may be that we are not supposed to visualize many-many relations for editing scenarios—to need to do so likely reeks of an anemic domain model.

Pack a Visual in a Message and Send It to a View Model?

Using MVVM Light messaging or Prism eventing to send a portion of a View (e.g. a UserControl) to a View Model is like picking up and dropping an entire refrigerator on a guest in your home simply because he asked for a can of soda pop! Surely is this one of my MVVM anti-patterns?

There were a handful of cases where I struggled with RadGridView issues and ended up taking that piece of the grid and sending it to the View Model for processing. After working with WPF for over a year such an impasse has not emerged at all.