Freigeben über


Going "extreme" with Silverlight 3 [Sharing the source code for a real-world sample application]

**

This blog has moved to a new location and comments have been disabled.

All old posts, new posts, and comments can be found on The blog of dlaa.me.

See you there!

Comments

  • Anonymous
    May 04, 2009
    I think the biggest thing missing that would make this a world class real world example of a data intensive app would be Navigation/Deeplinking. These days it's am must have. http://cesso.org/Samples/HeadTraxExtreme/#Iron+Man or something like that.

  • Anonymous
    May 04, 2009
    Great suggestion, DarthObiwan! If I get a chance to do more with this, I'll definitely look at adding support for something like that. :)

  • Anonymous
    May 04, 2009
    Hi... nice simple demo. I noticed you used a attached property to select/highlight a TreeviewItem when the current employee changes. I used a static extension class provide by Justin Angel to do the trick... Both workarounds still involve some small code in the view (if trying to adhere to MVVM). Do you know if the selected Item will be made 'fully' settable on the treeview.

  • Anonymous
    May 05, 2009
    Hi; FYI, the app [directly from the site] doesn't run in FF3 (just shows 100%), however it runs in IE8. ..Ben

  • Anonymous
    May 05, 2009
    The comment has been removed

  • Anonymous
    May 05, 2009
    CiaranMurphy, Thanks - glad you liked it! It's funny you mention the TreeView trick - that's one of the things I'm working on a dedicated post to discuss. :) I hope to post tomorrow or the next day, maybe, so be on the lookout for that if you want more explanation. If you're asking about whether SelectedItem will become settable, you might vote for this CodePlex work item: http://www.codeplex.com/Silverlight/WorkItem/View.aspx?WorkItemId=966. As I understand it, though, this would be a behavioral change from the WPF TreeView, so it's possible we won't be able to do it. So if you want it, be sure to vote! :)

  • Anonymous
    May 05, 2009
    BenHayat, I don't actually see the same Firefox problem you're reporting. I've just installed the Windows 7 RC on a blank Virtual Machine, installed Firefox 3.0.10, and then the Silverlight 3 Beta. The HeadTraxExtreme live sample link (http://cesso.org/Samples/HeadTraxExtreme/) loads and works correctly for me on both Internet Explorer 8 and Firefox 3. Perhaps you've got an older build of Firefox or something else is interfering on your machine? Regarding your question about TreeView vs. DataGrid, I've really got them both just because that's what the application I was copying did. :) But honestly, I think they're both valid: the TreeView is really great at visualizing the hierarchy while the DataGrid makes it easy to do company-wide sorting on any data field by clicking on the columns. Then I added in the ComboBox to enable DataGrid Grouping so that it could approximate some of the same hierarchical usefulness of TreeView while maintaining its ability to quickly navigate the entire data set. You're welcome to disagree, of course - if nothing else, this was a good way to exercise two of the more complicated controls. :)

  • Anonymous
    May 05, 2009
    Hi; Just checked and my FF3 is the same as yours (3.0.10) running on Vista and I have SL 3 beta on this machine. I've been seeing this problem lately (ever since SL3 beta came out) that some sites gets stock on 100%. I'm not sure what it is, but I hope it goes away as of SL3 RTM. As far as the grid and treewview, my intention wasn't to disagree with you, but mainly wanted to know if the data was designed as a self-referencing hierarchical data or flat data? Thanks!

  • Anonymous
    May 05, 2009
    FYI: I just rebooted the machine and tried your site and is working. I need to find out what causes it to report to SL team. Thanks! ..Ben

  • Anonymous
    May 06, 2009
    Earlier this week I wrote about the "app building" exercise my team conducted and posted my sample application

  • Anonymous
    May 06, 2009
    Cool... Well I was trying to use a view model that has the notion of a current Location/User/Wotsit etc. With a listbox you can easily have two way binding without have to hook the controls SelectedItemChanged Event.  

  • Anonymous
    May 10, 2009
    In your list of supported controls/concepts you mention the M-V-VM pattern. But where are the viewmodel class and the commanding?

  • Anonymous
    May 10, 2009
    Rolf3006, Sorry for the confusion! When I added "M-V-VM" to the list, what I had in mind was the technique of manipulating TreeView's IsExpanded/IsEnabled properties in the model rather than directly on TreeViewItem. In the case of my simple sample application, the Employee class acts as both the model and the view, but the TreeView concepts are just as relevant as they would be in a larger-scale app. I called this out specifically because I went on to write more about handling a Silverlight-only complication with the pattern here: http://blogs.msdn.com/delay/archive/2009/05/07/one-more-platform-difference-more-or-less-tamed-settervaluebindinghelper-makes-silverlight-setters-better.aspx

  • Anonymous
    June 17, 2009
    cool post but it got me all excited because it said it used mvvm and datagrid/dataform, which is what i was looking for, but it doesn't actually use the mvvm pattern at all...

  • Anonymous
    June 17, 2009
    jtoth, Sorry for the disappointment - I explain in the comment just before yours what I had in mind when I said "MVVM".