Changing Views Within a Prism Module? - prism

So I have a PRISM v2 (M-V-VM) application up and running. It's 4 modules that load into a tab control. Great.
Now my question is - where to go from here? Most tutorials seem to stop at this point.
Maybe I'm overthinking this, but it almost seems like I'd need each module to be its own PRISM application, but that can't be right.
Please help a PRISM n00b figure out where to go from here.
What I'm looking to do next: Each tab (module) has its own toolbar with buttons, etc. Clicking a button should change the content (view) below the toolbar.
How to achieve this (correctly) with PRISM? Each module (tab) should have control over its content, however, clicking cetain buttons in one tab may trigger an event in another tab (hence the use of PRISM).
So what's the correct-PRISM way to change views within a module?

I think you are thinking about this a bit hard. I'll explain.
What is commonly referred to as the "Shell" should contain all of your navigation controls. For example, if I wanted a tabbed UI, my Shell would contain a tab control (usually you'd decorate that TabControl with a RegionName, like "ShellTabs").
Your Modules will contribute views to these shell elements. So let's say you have the email module, it will contribute an inbox view to your collection of tabs. It could contribute these views by registering them with the RegionManager for the app (like registering your view with the Region called "ShellTabs").
Modules don't have to contribute anything visual. I have one module in our app that takes care of logging and other background processes.
Hopefully this clears up some of the nomenclature and helps you know what the responsibility of each part is.

Related

MFC:CDHtmlDialog Purpose/Usages to open other views?

I was thinking of writing a new app where a users selects an option of what procedure they want to perform and the view changes to that until done then goes back to the main menu. I came across CDHtmlDialog and looked like a nice easy way to add a nice looking menu using html. But I wonder if that is the purpose of that class? Can I set it up so when a button or graphic link is clicked it changes out the view to another one (I would need to use traditional things like CTreeView with CListView with a splitter) or is it more for staying within the HTML world?
Thanks.
From the MSDN MSDN documentation
CDHtmlDialog Class is used to create dialog boxes that use HTML rather than dialog resources to implement their user interface.
From what I can gather from your post, I think you should consider SDI application using view classes that you want. To switch views on the command you do not need a splitter window. A static splitter is used to display a number of views in a different part of the splitter simultaneously.

How To Create A Menu With Images and Pages, Like iPod Menu

I'm trying to find a tutorial or book, that explain who to make a menu application, like the iPod/iPad menu, with images as buttons, and pages. What i'm trying to do, is a menu, with a Popover window, when an option from the popover is selected, then the menu is filled (with code) with the buttons/images, that can be located in more then a page.
Thanks you in advance
Okay there are two things you can use here:
The Three20 library , which has several extra components you can use as well: repository here
If you want just a view similar to that and nothing else, you can go with myLauncher: repository here
I know there are probably more, but these were the main two I looked at when I went looking for a similar view.

how to display a html page inside dynamically created silverlight child window

I want to a html page inside a dynamically created silverlight child window without telerik control.
The telerik control isn't doing anything you can't do yourself with enough effort - it's all just transparent user code.
So, you could create <div> and position it carefully just like the telerik control does - but of course this can be a lot of work (that's why folks would want to pay for their control).
This also only works when the plugin is windowless, which has lots of trade-offs (see MSDN - for example, accessibility support is greatly reduced or gone entirely, I can't recall which).
In out-of-browser mode, you can use the WebBrowser control, in case that helps should you wish to make your app available OOB later.
try one of these links:
1. http://forums.silverlight.net/forums/t/51784.aspx or
2. http://weblogs.asp.net/dwahlin/archive/2010/05/10/integrating-html-into-silverlight-applications.aspx
It can help

How to create a view for a single control?

What is the best way to create a view for a single control that I need to load into a Shell region in a Prism app. I know I can wrap the control in a UserControl, but I suspect there may be a better way.
I am working on a demo app to learn Prism 4. Each module will load a navigation button into an ItemsControl in a region in the Shell. These navigation buttons will function like the Mail, Calendar, and other buttons in Outlook.
I am creating the view in each module that will hold the module's navigation button. The simplest way to create the view seems to be to wrap it in a UserControl. My question is this: Is there a better way to do it? Thanks for your help.
If you need graphical control, what you are doing is the way to go. If you find yourself making all of the buttons look the same (copy - pasting) you might find that a menu registration service is the way to go.
You'd have a service like IMenuService that you register with your container and modules can come around and register menu items to. You can then create buttons for the module. I've provided a sample for this here:
http://dl.getdropbox.com/u/376992/CAGMenus.zip
Your question, though, seems to be about whether or not you need to wrap a control in a UserControl to register them with a region? If that's the question, I believe the answer is no, although you might amend your question to tell us what you are running up against that makes you think this.
I ended up wrapping the control in a UserControl, and it seems to work fine. I am still interested in seeing if there is a better way to load the button, so I will hold this question open for a few days.
Edit 02/22/2011: I tried using a control without a UserControl wrapper, and I got the following error:
Library project file cannot specify ApplicationDefinition element.
I wrapped the control in a UserControl and the error went away.

xcode/interface builder linking to page

Hi all
I am a newby app developer infact I am still in high school, I am making a radio app and I have made the channel list using interface builder (mainwindow.xib in xcode) now I want to be able to click on a link/button in the main window and that take me too a new page in the app where I can have a play button and maybe a symbol etc. I know it is probably a trivial question but I am stumped, but how do I go about doing this if someone could place it out in step by step or even a few screenshots it really would be apreciated?
Many Thanks in advance
David
So, basically you want to be able to use a UIButton to take you to an entirely new view controller? Well, for your particular case, I'd recommend trying a Tab bar controller. When you create a new application, it gives you an option for what type of template you want, and Tab bar controller is one of them. This creates a black bar across the bottom that lets you cycle between several different independent view controllers. Just create a new tab bar application, and copy/paste your existing code into one of the views, then use the other one(s) to do whatever else you have in mind. Hope this helps!

Resources