Silverlight Datagrid Updated

In December Microsoft released an updater version of the Datagrid for Silverlight, look at this post for the download link and the installation instructions: http://silverlight.net/forums/t/59990.aspx.

I highly suggest to download and install this version cause it fixes some very annoying bugs that forced us to use nasty workarounds.

Technorati Tags: ,

Related Content


Resharper and the OutOfMemoryException problem

After having tried (and still using CodeRush Xpress), it’s now time for me to give an eye at Resharper too.

To be honest I really like some of its capabilities, but I’m used to get a lot of OutOfMemoryException from it which have a very bad impact on the usability of the product: it tends to hang up the whole Visual Studio environment; so you have to kill the whole environment and load again a fresh copy in memory (which takes time with very large solutions).

A fix to this problem is to use a wrapper/bootstrapper provided by Jetbrains (http://www.jetbrains.net/confluence/display/ReSharper/OutOfMemoryException+Fix).

Using this small bootstrapper Visual Studio seems to be more stable and reactive when Resharper is enabled.

Related Content


Structura (Alpha version) a Silverlight/WPF Line of Business Application Framework

Here’s the first deploy of Structura, this project is related to our User Group DotNetMarche and will be part of a set of application frameworks and open source solutions we develop as community projects. Structura will be in our mind an application framework for building modular and pluggable line of business application in both Silverlight and WPF.

It will also contain a series of guidelines that will help structuring the project in a way that the portability between Silverlight and WPF will be maximized, reducing the amount of code you have to ‘rewrite’ hopefully only to the Xaml that describes the user interface.

The framework will make heavy use of patterns like MVP and MVVM for building the user interfaces, with a set of helper classes to structure the model, the views and the controllers. The model base class can be used also for your business entities and DTOs, cause it already implement all the interfaces to be effective when in binding with controls (using the dispatcher object all the PropertyChanged events will be called on the UI thread, so you don’t have to worry for access violations exceptions).

The modularity and pluggability is implemented using IoC containers (shielded behind an interface, so they can be changed), actually we use Unity for Silverlight and Castle Windsor for WPF. If you want you can write a custom bootstrap for the application that is able to register the types in the IoC containers using their native syntax, or you can follow my approach and use a custom syntax and programmatically register the types (this obviously set some limits in the features of the IoC containers you can use...but remember we aim for portability so keeping things simple is not an error).

All the Data Access logic is hidden behind WCF web services (you have to follow this way, cause Silverlight can’t realize a direct connection to a database or to any sort of data source). The DAL classes are implemented using NHibernate as ORM tool and follows a simple repository pattern. This is actually the ‘weakest ring of the chain’ for this sample cause I used a very basic implementation that we are already changing and improving in our other Open Source projects. You can use the ‘DataAccessLayer.UnitTest’ to generate the database used by the sample application, just change the connection string on the ‘DataService’ and ‘TestApp.DataAccessLayer.UnitTest’ projects, execute the first test and you are ready to go.

The framework also contains a series of utilities and controls specifically developed for Silverlight (like a Window emulator a Menu control, a file uploading feature, etc...).

The Test Application implemented is the very basis of an invoice system (it consists of 3 test modules, to show you the use of IoC as a plug-in engine, and 4 forms for inserting and managing clients and invoices). The project have a double user interface: Silverlight (TestApp.Silverlight.AppManagerWeb) and WPF (TestApp.AppManager).

InvoiceManagerSL InvoiceManagerWPF

Workshop: ‘Silverlight in Action - a starting point for Line of Business Applications’

Yesterday DotNetMarche presented our last workshop for this year. We talked about how write a pluggable and modular architecture that can be a starting point for building Line of Business Application in Silverlight and WPF.

I introduced the framework I’m currently working on (named ‘Structura’) which uses a series of custom controls to simulate a desktop environment in Silverlight (Dropdown menus and Windows) and that relies on IoC systems (unity, autofac, castle windsor, etc...) to implement a pluggable architecture in both Silverlight and WPF.

The framework also have some facility and helper classes that can be used to implement an MVP/MVVM patter for building the user interfaces, so we can maximize the code reuse when ‘converting’ the application from Silverlight to WPF (you just have to modify the View of each form).

I hope that those who attended enjoyed the workshop and that some interesting discussions may arise.

Structura will go Open Source soon, and I will publish all the source code in this blog and in our community website (www.dotnetmarche.org) soon, just let me fix a couple of things.

In the meanwhile, lets look at some of pictures of the event :D

meinaction  theaudience

bringsomemore

Related Content


Serialization Exception: PropertyChangedEventManager is not serializable

Actually I’m working on a multi-target framework for Silverlight and WPF and I have developed a base to be used by any entity and DTO class that can also be sent back and forth through WCF or WebServices; a deriver class supports a generic clone method (see deep clone of a business object: the quick and dirty way).

This class has en event method to handle PropertyChanged events (useful for binding scenarios):

   1: public virtual event PropertyChangedEventHandler PropertyChanged;

'Silverlight in Action' on December, Thursday 11

I will be the main speaker at the next workshop organized by DotNetMarche (the .Net User-group I belongs to); the workshop is organized in collaboration with Microsoft and it is part of the official ‘Microsoft Days Community After Hours’ events.

I will show the basis of how to build a multi-target (Silverlight+WPF) line of business application using a lot of different technologies (like ORMs, Inversion of Control systems, etc...) and patterns (Strategy, MVP, MVVM, etc...) and how to integrate them in a framework (which I call ‘Structura’) for building pluggable and modular applications.

To be honest this is driving away all my spare time, so that’s the main reasons for the lack of updates of this month.

However after the event I will publish all the material and related code samples.

For more info or to sign up for the event please refer to our community website: www.dotnetmarche.org or go directly to the event registration page.

See you there.

 

Related Content