Missing features

May 26, 2013 at 3:53 AM
Edited May 28, 2013 at 3:24 AM

I think Prism for Windows Store Apps in great!
But there are some missing features that I think are useful when developing business apps:

1) Support for custom dialogs (like ChildWindow in Silverlight) with typed dialog result.
2) Support for complex objects passed as navigation parameter.
3) Typed parameter in navigation instead of generic object.
4) Error logging.

What do you think?
May 28, 2013 at 8:13 PM

Thanks for your feedback.

If you wish, you can create a work item in the Issues section with your suggestions for the development team so that they could be taken into account in a future release of the project.

Thanks again,

Damian Cherubini
May 28, 2013 at 11:07 PM

1) We did not spend time on custom dialogs because our app did not need them. When you create the issue as Damian suggested, can you give us scenarios where they are needed? This will help us evaluate them for a future release.

2) The core platform does not support serializing complex objects so we cannot as well. We use the Frame class to perform our navigation and to save navigation state when the app is suspended and to retrieve state when the app is resumed. Because the app can be suspended, resumed or terminated, navigation information must be serialized. The Frame.GetNavigationState method says that the serialization format used by these methods is for internal use only. Your app should not form any dependencies on it. Additionally, this format supports serialization only for basic types like string, char, numeric and GUID types.

3) This is similar to 2) in that anything passed for Navigation must also be able to be serialized for life cycle management (suspend, resume, and terminate). The Frame class only supports serialization of basic types.

4) Error logging is on list for a future release. It would be great if you created an issue for this item.

Thanks for your feedback,

Jun 1, 2013 at 2:56 PM
Edited Jun 1, 2013 at 2:58 PM

1) Custom dialogs are very useful to add or edit items in a list, especially when the item to add/edit has a few fields and an entire page would have a lot of empty space.
Dialogs also allow you to avoid to maintain the state of the page because the dialog is displayed in the same page over the other content; this reduce the amount of code to write to save page state. If you don't use a custom dialog, you have to navigate to different page and save the state of each element of the page (scrollbars position, items loaded in the lists if you use incremental loading collections etc.).
It would be great to have a base dialog to inherit from and have an async ShowDialog method with a typed result.

2) 3) Frame control doesn't support complex objects but you can json serialize the parameter before calling frame Navigate method and deserialize it before calling OnNavigated method of the viewmodel.

I added these features requests in issues section.

Thank you very much.
Jun 7, 2013 at 3:16 PM
Hi Oasis,

We have added a new article in the Knowledge Base explaining how to use the navigation parameter for different scenarios. I believe you might find it interesting:


Damian Cherubini