All posts of Florent Pellet
Last Thursday, I had the opportunity to lead a conference for MUG (Microsoft User Group) of Lyon.
This workgroup presented several advantages of websites with a Single Page Application (SPA) philosophy.
These remarks were illustrated by a demonstration of Knockoutjs.
Several problems of SPA have been studied (browsing history & SEO)
In WPF or Silverlight application, the vectorial is king. It is for this reason that as soon as I can, I use a Path instead of a picture.
Therefore, you can have the same Path several times in the application. The temptation is strong to create a Style with a value in the Data property.
Unfortunately, there is a known bug with this property. When it is used in a style, the path is instantiated once. That is to say that if you have for example a list of item that uses the same style, only the first will be displayed. No error, but not the expected behavior.
One of the first times that I worked with Silverlight, I wanted refactoring my application and create a project named "MyProject.Client.Resources.". This project should contains various style sheets and other common resources with the rest of the project.
The application worked perfectly and after refactoring, catastrophe, nothing works. No errors (compilation or run-time). In the application, everything seems to work as if there weren't any available resource.
It happens sometimes that you want to make a line break in XAML view. As this language is based on XML, it becomes problematic because traditional characters do not work.
If you do not have the chance to use Visual Studio 2012, you still have to suffer the vagaries of old designer. Heavy, slow and memory leaks, welcome to hell.
I propose two solutions to facilitate the modification of XAML files.
At last TechDay event, Microsoft showed the ease of use this new feature. With a single call of a method in the constructor, we can use an ObservableCollection in an multi-threading application.
I'll show you in this article, that in the case of a MVVM architecture with multi-thread, this can quickly become complicated to implement.