Phil Wright
Phil Wright

Reputation: 22906

Anyone with experience of targeting Silverlight & WPF?

Is it possible to develop against Silverlight and WPF using the same source code? Maybe using some #define blocks where it is necessary.

Upvotes: 2

Views: 220

Answers (5)

Jobi Joy
Jobi Joy

Reputation: 50028

Flashcards.Show application is a great example of this WPF/SL/WP7 code sharing and cross platform possibilities. http://windowsteamblog.com/windows_phone/b/wpdev/archive/2011/03/03/flashcards-show-planning-a-cross-platform-solution.aspx

Concept of cross platform is pretty simple because everything works on .NET and a similar XAML binding system. My advice here is to invest more time on architecture of the app in terms of MVVM and other abstraction to segregate the platform dependencies. So that a major percentage of the code can be re-used across while some of the XAML might need to rewrite depends on the visual complexity of the app in different platforms.

Upvotes: 0

Reputation:

You can use Visual Studio file linking to include classes from WPF projects in Silverlight - but only if they don't do any UI or XAML based stuff (as this is where you will usually find inconsistencies between the two)...

So keep it to business logic etc.

Upvotes: 0

Drake
Drake

Reputation: 8392

I have no experience on that but I have used a component that targets both WPF and Silverlight environment with the same code (there are only few differences).

The component is Chart from Visifire and it's Open Source

Maybe you can take a look into it

Upvotes: 1

Steven Robbins
Steven Robbins

Reputation: 26599

Incidentally, PRISM (the composite application block from patterns and practices) now supports Silverlight and there's a C9 video with a quick sample on using code in both WPF and Silverlight.

I think if you stick to MV-V-VM (or something along those lines) then a lot of your backend code will be reusable, but the XAML itself might need to be forked if you want a full on "rich" experience, unless you are willing to use the VSM beta for WPF.

Upvotes: 1

Franci Penov
Franci Penov

Reputation: 75982

Theoretically it should be doable. It's not a big problem for the code. However, you'll have to be very careful with XAML and use only the intersecting subset of WPF and SL (1), as there's no #if/#endif for XAML.

(1) Contrary to the common belief, SL is not a proper subset of WPF. It has some features that WPF does not have, though these are being worked on.

Upvotes: 3

Related Questions