How to display WPF overlay on top of DirectX? - wpf

I learned how to hook into the game EndScene function, but how to host WPF content is something I am trying a very long time to understand.
I am trying to do something like Overwolf, for a specific game (starcraft), I asked their team how they do it, but they didn't give any information.
So I tried to examine what exactly OverwolfLauncher.exe does, and I found it injects 3 dlls:
OWExplorer-2006.dll, OWLog.dll, OWClient.dll.
The first two seem not really important. The third hooks into the game directx or opengl dll, and their overlay manager does some "magic". And that's only what I was able to understand.
I would be happy if someone could explain me how exactly Overwolf managed to host WPF content as overlay.
There are many questions like this on stackoverflow.
This one was marked as solved, but the solution seems to be about hosting DirectX inside WPF.

Related

How do you make developing a XAML based UI bearable?

I enjoy developing for the web, HTML/CSS/JavaScript are easy to debug and see what is going on with tools built into modern browsers such as Chrome/Firefox and simple things such as view-source
But with WPF, I'm constantly getting into moments where I think something should happen and it just doesn't. I eat up a lot of time in frustration trying to figure out why a damn button is a certain color or text isn't showing up, etc, etc.
How do you make WPF bearable? Am I missing out on any tools? I know I can prototype in tools such as kaxaml but it doesn't always translate into the real thing.
I want an "Inspect element" when doing WPF!
Snoop is the closest thing to Firebug you're likely to get. One thing I can't stress enough though is to watch the Output window while the app is running - it will tell you when styles/brushes/whatever fail to load.
Also, if you're working in a big project and are having issues with a control or style, pull it out to a separate dummy solution and see if the problem persists. XAML isn't as bad as CSS when it comes to weird inheritance issues, but it can really help you see what's going on.
I want an "Inspect element" when doing WPF!
I would recommend trying Mole 2010. It includes a visual inspector for WPF applications.

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.

Login Window to Main Window in Prism (WPF)

I've been trying to figure out how to use Prism but I'm a bit lost right now on how to implement a feature on my small project... maybe I just dont know how to do it as I'm really new to WPF and the whole composition type of application as I was a Graphic/Web designer with an urge to learn more about programming. I friend of mine suggested that I should learn WPF and I did... I'm pretty good now with designing UI and the other things that makes it move. Last night I was able to write a WCF service and connect my WPF application to it which was really neat.
i was browsing last night when I found Prism and it got me really interested but I'm not sure how to use it completely... For now, all I want to know is how to wire a Login screen to a main screen using Prism.. most of the examples I've seen load contents to a shell window but I have not seen any that uses a Login screen that would redirect a user to a Main Window once a user is validated.
Can anyone point me to the right direction? A sample project perhaps? I know i'm not good at this yet but I'm eager to learn.
Thanks!
-Kiersten
If you enter, for example, this search query in the Prism forums at Codeplex, you will get many threads that deal with this situation.
A particularly helpful one could be this one.
Searching for "login" also provides useful results, as many them explain what to do after the login has been performed, how to load modules depending on permissions, etc.

Easiest way to create interactive simulated desktop app in Silverlight?

I'm creating a training lab for a desktop application.
Basically it'll be a series of screenshots with hotspots, when the user clicks in the right spot it advances to the next screenshot. There will also be some simple text input, so a textbox will need be overlaid over some of the screenshots. The logic is simply if the user enters the right thing they get to move to the next screen.
Adobe Captivate or good old timeline-based Flash is great for creating stuff like this. But this project has to be Silverlight. I considered using Captivate along with a swf to silverlight converter, but I believe those converters only support animations not logic.
The question is: what is the easiest way to create this type of thing in Silverlight? Can Expression Blend do it? Other alternatives? Ideally little programming is required.
Blend is great for this, you may also want to try using Sketchflow to prototype it quickly http://www.microsoft.com/expression/products/SketchFlow_OverView.aspx
Using Expression Blend's behaviours and storyboards makes it easy to create an application with no code in no time.

Learning WPF... Full screen launcher app

I'm in the process of building a Home Theatre PC (HTPC), and figured this could give me a small project to learn some more about WPF.
I want to build a simple program launcher. It would be an application that would fill the screen with a background of my choosing, and a few large icons/buttons to represent applications. I have an IR remote that will be set up to emulate keystrokes, so I can use the "keyboard" to move between the large buttons and "click" one of them, launching a program.
I'd like to define my button info, images, and background using some kind of external config file and image files in the same folder as the exe.
I've been playing around with the idea in VS2008 using VB but already I'm getting stuck with just trying to get an external image file to appear on a button. Many of the samples I find are relatively complicated and are written in C#, but I work in VB. If anyone has suggestions for getting over this hurdle or ideas on how I should approach other parts of my application, your input is welcome.
Thanks!
Try working your way through this series:
A First Introduction to WPF and XAML for Visual Basic Programmers
Good intro recommended in the first answer - if you want to go a bit deeper have a look at WPF - how and why

Resources