Prism v4 Beta2 Drop 10 Released

The Microsoft Patterns & Practices Prism Team has just released Prism v4 Beta 2, Drop 10.  This will be the last drop until Prism v4 RTM’s in early November 2010.

New assets in this drop include documentation on Model-View-ViewModel, Composing the User Interface, and Extending Prism.  Overall, documentation is still in edit but we have made much progress.

You can read about the code changes in Drop 10 as well as updated information on the two region navigation blog posts I did here.

Still time to register and attend the Patterns & Practices Symposium is 18 – 22 Oct.  You can get information and register here.

Prism guidance can help you grow as a developer.

Have a great day,

Just a grain of sand on the worlds beaches.

8 Responses to Prism v4 Beta2 Drop 10 Released

  1. [...] This post was mentioned on Twitter by WPF Blogger, Larry King. Larry King said: Prism v4 Beta2 Drop 10 Released « Karl On WPF – .Net http://bit.ly/aALguA #SL #RIA [...]

  2. stevemeagher says:

    Hi Karl,

    Your info about integrating Prism navigation and Silverlight navigation has been really useful. However, I’m having a problem using the tab control as a region. It works pretty well except for examples of the following type.

    I click a hyperlink which opens a tab and shows the corresponding data in the tab. This sets the browser address bar as expected. I click a different hyperlink which opens another tab showing the corresponding data. Again, this sets the browser address bar as expected. Now, if I click between the two tabs or close one or both, Silverlight navigation is not involved in this and the browser address bar is not updated. The real problem is that if I then try to click the second hyperlink again, nothing happens as this was the last “Silverlight navigation” event.

    How do I involve Silverlight navigation when clicking between tabs or closing a tab?

    Kind regards,
    Steve

    • Karl says:

      Steve,

      Are you using the RTM build of Prism 4?

      Have you read my blog posts on SL Nav here? http://blogs.msdn.com/b/kashiffl/

      In your above description, what application are you referring to?

      Karl

      • stevemeagher says:

        Karl,

        I’m using the November 12 drop of Prism. I have read your blog posts. The application is a Silverlight 4, Prism 4, RIA Services/Entity framework 4 app I’m writing for my employer.

        I’m assuming from your questions that Prism / Silverlight navigation should work fine with the tab control. Do you have any examples/samples that use the tab control with integrated Prism and Silverlight navigation?

        Thanks,
        Steve

        • Karl says:

          Steve,

          The StockTrader RI shows demonstrates using TabControl as a Region.

          Navigating will still require the Silverlight Frame as the SL navigation uses this.

          Not sure I understand the problem or question.

          Karl

  3. stevemeagher says:

    Karl,

    Apologies if I haven’t been clear.

    I’m writing an SL4 app using Prism 4 (latest version I believe), RIA services. I have a treeview in the left portion of the screen in which each item is a hyperlink button. I have a tab control taking up the rest of the app screen space to the right of the treeview. Clicking on a hyperlink in the treeview opens a new tab in the tab control. I’m using your Prism4FrameRegionNavigation to integrate SL navigation and Prism navigation. The result is that when I click on a hyperlink in the treeview, the tab opens successfully with the appropriate view (I’m using MEF), and the browser address updates correctly to represent the newly opened view in the tab. I can open multiple items by clicking different leaf-node hyperlinks in the treeview. As I click each hyperlink, a new tab is added to the tab control and the appropriate view shown (and address bar updated). If I click on a hyperlink that corresponds to a tab that is already displayed, then that tab (and view) is given focus as expected.

    Everything described above is working as expected. Now the problem(s)…

    If I click between tabs, the address bar is not updated to represent the currently selected tab. If I close a tab, the address bar is not updated to represent the tab that now has focus.

    The result is that if I now click the hyperlink that corresponds to a tab that I just closed, nothing happens. It appears that from SL navigation point of view, the tab is still displayed.

    It seems to me that unless their is some code to update the SL navigation when clicking between tabs (or closing tabs) then this would be the expected (but not desirable) behavior.

    The StockTrader RI demonstrates using TabControl as a Region but does not demonstrate integrating with SL navigation. I don’t have a problem using TabControl as a Region. It is the SL nav integration that is a problem. Yes, I am using the Silverlight Frame.

    Do you have any samples that demonstrate Prism 4 navigation and SL navigation integration which use a TabControl as a Region.

    A good example would be your ‘The Phone Company’ app with a TabControl for the currently open inventory items instead of a list.

    I hope this makes some kind of sense!

    Thanks for your help,
    Steve

    • Karl says:

      Steve,

      I was thinking more about your scenario. What you want to do is to control or navigate sub-regions. Those regions that are not the top level control that was navigated to.

      This is fairly simple. You need to add the sub-region information like TAB=2 or TAB=1 to your querystring. Then in the navigated to event, parse the querystring and cause the tab control to either select a tab or add a new one. Your logic would determine this.

      I don’t have an example written and no time until June to do one. But this should be straight forward. If you get stuck, post a question on the Prism codeplex site, discussion list. Our engineers can help you out.

      Cheers,

      Karl

      • stevemeagher says:

        Karl,

        Thanks for looking at this.

        My solution (although imperfect) was to handle the Navigating event of the navigation Frame, and if Frame.Source == e.uri then StopLoading, parse the e.uri.OriginalString and call RegionManager.RequestNavigate with the parsed e.uri. This works fine for now – it would be preferrable to use the uriMapper to do the parsing but not sure how to do that right now.

        Thanks,
        Steve

Follow

Get every new post delivered to your Inbox.

Join 246 other followers