Is it possible to have an animation appear on WPF NavigationWindow? - wpf

I have a NavigationWindow which hosts a series of Pages. For design reasons the Pages are fixed at 780x580 but the NavigationWindow can be set to maximize, leaving a lot of black background around my Pages.
I would like to show a fairly simple, unobtrusive animation (just some labels of various opacity/size streaming from side to side) continuously running behind all the Pages... the logical place would be the NavigationWindow so that there would be no interruption when the user navigates from page to page.
Neither Blend not Visual Studio give me access to controls when I have the NavigationPage in the designer, so my guess is that I cannot do it that way.
Anyone have a suggestion on how to do this, or a workaround that nets me the same result?

I was poking around at this alittle last night, I'll let you know if I come up with anything. Have you looked at the MSDN NavigationWindow ControlTemplate Example

Related

WPF dynamic content tabs NOT suitable substitute for MDI user interface

So I have this old PowerBuilder MDI application (medium enterprise app with about 40 windows), and I'm embarking on designing my very first WPF MVVM C# application to replace the aging PowerBuilder app. I've got plenty of C# & .NET experience, but this is my first WPF & MVVM app.
After reading many forum postings after searching for WPF & MDI alternative, I've come to the conclusion that the MDI isn't supported, and that the most commonly proposed substitute is to use the TabControl and dynamically generate the content of each tab page upon demand using a WPF User Control. I had initially been sold on this, and was actually excited by my initial prototype interface with a tabbed Ribbon bar at the top of the app, and the TabControl with the tabs of the app underneath that. However, I have hit a BIG brick wall.
Take a look at the following screen shot of one of the central multi-tab windows from my old application: http://www.creativedatatech.com/downloads/screenshot.jpg
As you can see, the app has a toolbar across the top and the left side, and the example MDI child window (Case Edit Window) that is open has a LOT of tab pages (18 of them), and the users really like being able to quickly click on a tab page to get directly to that information to work on it. Moreover, the users have grown accustomed to being able to open multiple Cases at once and either put them side by side (large monitors), or flip back and forth, possibly copying & pasting between them.
The problem here is that I cannot envision how I am going to incorporate all this multi-tab user experience for the Case Edit Window into a single tab of the top level WPF TabControl. Will the users end up seeing a row of tabs for the WPF TabControl, with one tab for each Case Edit Window that is open, and then inside each "Case Edit" tab page, a further nested set of 18 tab pages?? This seems confusing and a big mess of nested tabs. Add to that the tabs of the Ribbon control at the top of the app, and I think my users will be running after me to lynch me!
After investing two straight weeks reading up on WPF and MVVM, I am left with the sinking feeling that WPF really isn't going to fly well for enterprise apps such as mine.
Surely this can't be true! Does anyone have any comments on how I should go about shaping this app to accomplish what I'm trying to do here? I've already looked at WPF "pages", but I can't have the users serially navigate through all the individual pages to get to the content that they need to work on, and they need to be able to quickly (and visually) navigate to the Case Edit Window content that they need.
I think your problem is not so much WPF, but rather that GUI paradigms have moved away from the MDI that your current app uses. There is nothing stopping you implementing MDI in WPF, but what would be the point if your app ends up looking like it does now?
You really need to think about how to layout your app in a modern way. Perhaps you could keep your tabs for the different cases, but replace the multiple tabs in each child window with a master/detail view, much like Dev Studio does for its Options dialog?
We had this same dilemma, we decided on screen tabs at the bottom with tabs that relate to that screen at the top - and contextual ribbon items.
The tabs in the screens actually just scroll the window to the desired point so all information is sectioned off and available on each screen by scrolling or clicking the tab at the top.
Looks like this

Force visual layout of hidden tab content

I have some quite complex content behind several tabs. I'd like to force the layout to happen at application startup rather than lazily as the user clicks a tab for the first time. The delay is about a second or two per tab, and it's a bit embarrassing!
Edit: I think the problem is that only the selected tab's content control is in the visual tree. Calling ApplyTemplate of the HeaderedContentControl didn't make any difference.
Does this link help you?
wpf force to build visual tree
Basically it says to use ApplyTemplate on the ItemsControl...I guess that for the tabs you should do it for each TabItem.
There's also another technique used in this site:
http://xcalibur37.wordpress.com/2012/07/12/make-your-tabcontrol-preload-in-wpf-silverlight/
Here he creates a kind of preloader for each tab. It's for silverlight but I think it can be applied to WPF.
Hope it helps out :)

Is there a way to add transitions to a ContentControl in Windows Phone 7.1?

I've searched all over but it seems like no one has figured out a way (or at least written about a way) to add transitions to a ContentControl (or equivalent) in Silverlight for Windows Phone.
I'm using Caliburn Micro, and I have a Screen Conductor that activates different user controls. All I want is a simple slide effect between activations, forward and back. You can do this in WPF but not in SL4WP it seems like.
The other alternative is to switch to using navigation between these views, but then I lose the "master-detail" style view model. I'd be open to an answer that kept my intention but used page navigation instead (since then I could use the Slide transitions from the Windows Phone Toolkit).
It's a step-by-step style conductor, I need to lead the user through a 2-3 step process, allowing them to go back or cancel out, each step using data from the previous.
Are you sure it cannot be done? There are various blog posts and articles on the internet that indicate that the TransitioningContentControl is part of the Silverlight for Window Phone Toolkit.
Note that 'Silverlight' and 'Silverlight for Windows Phone' are different things, so you must download the right toolkit.

Silverlight-like transition effects in WPF?

I have seen packages like MahApps (http://mahapps.com/MahApps.Metro/) which will allow WPF programs to have the look and feel of Metro.
I've also seen some pretty good looking Silverlight programs created with that Metro theme in mind. For example, when you click a button a panel will slide/transition out over the time span of about a quarter of a second (I don't mean just a simple fade in, I mean the panel physically moving across the screen until it is at full size). My understanding is that this is achieved with storyboards.
My question is whether it is possible in a WPF application to do these sort of transition / visual effects? Or is it something that is strictly in the realm of Silverlight?
Thanks
There is nothing to prevent you from doing these transitions in WPF.

Can I use the WP7 Panorama control outside of WP7?

I need a WPF control that acts like the Panorama control for Windows Phone 7, but I need it for a desktop application.
It will contain a series of panels (or Panorama Items) that the application will be able to slide through horizontally programmatically.
Also, the content inside the panels not currently displayed on the screen will need to be "lazy loaded". In other words, they should be referenced but not loaded or rendered.
Can I somehow adapt the WP7 Panorama control to do this? Or will I have to develop a custom control from scratch to behave similarly to it?
Thank you!
EDIT:
I could probably use a VirtualizingPanel to implement the lazyload behaviour.
MahApps.Metro while still not super mature does allow for the wp7 Panorama control. Demo of how to use a panorama here. I've played with it a little and while its not the most customizable thing out there it gets the job done. Pretty sweet. Also Sacha Barber (Codeproject Demigod) wrote up an article on making your own. Of which I haven't looked at yet but, the guy usually does awesome work. So I'd check that one out as well.
http://blogs.microsoft.co.il/blogs/arielbh/archive/2010/10/21/porting-windows-phone-7-s-panorama-control-to-silverlight-4.aspx gives some clues about how do to this.
It suggests using http://phone.codeplex.com/ as your base and then you can use http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=4b281bde-9b01-4890-b3d4-b3b45ca2c2e4 (Microsoft Surface Manipulations and Inertia Sample for Microsoft Silverlight) to run convert get it to respond to touch.
Seems none exist as far as I can see so far.
This blog has started an attempt at making it, so you could work from there to make your own. Be sure to also check out this page which details the creation of an individual panorama item too.

Resources