locked
Automatic app docking

    Question

  • Hello All,

    Fledgling developer here, working on his first Windows 8 app.

    I'm trying to build a forum reader, and I want the app to dock itself and open the web browser when the user clicks on an external link. The idea is to maintain the app's presence while allowing the user to explore the linked content unobstructed.

    After having searched around, I've been unable to find the necessary function to do this. Can anyone point me in the right direction, and perhaps give me pointers on where to look for these things in future?

    Regards,

    Elliott

    Saturday, March 09, 2013 1:41 PM

Answers

All replies

  • Saturday, March 09, 2013 2:32 PM
  • Thank you for your suggestion, but I'd much rather dock and open the web browser if it's possible, as it gives a lot more control to the user.
    Saturday, March 09, 2013 2:36 PM
  • Hi,

    Firstly, we can not use the WebView control in XAML to achieve the web browser function. Because the WebView cannot open a new tab from a inside link.

    We should use HttpClient to get the HTML content, and display it into a customer control. Then we can use Storyboard to change the customer control's size and position to achieve the dock animation.

    Here is the document for animation
    http://msdn.microsoft.com/en-US/library/windows/apps/xaml/Hh452703

    Best regards,
    Jesse


    Jesse Jiang
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    Monday, March 11, 2013 2:57 AM
  • A metro app runs under a container that does not have access to the outside. A desktop app elevated to the uiaccess integrity level may be able to automate the desktop to do the snapping, but interprocess communication between a desktop app and a metro app is forbidden. You probably need some browser extension to relay an open request from a web server.


    Visual C++ MVP


    Monday, March 11, 2013 9:16 PM
  • There is no way to do this. Docking is a user-controlled state, not controlled by the app. Also, apps are strictly isolated from each other (except for well controlled interop points such as contracts), so one app cannot control another app.

    --Rob

    Monday, March 11, 2013 9:51 PM
    Owner
  • I feel like Rob just loves telling developers stuff is impossible. And somehow, he always gets marked as the answer. Let's offer solutions rather than skepticism on this forum please, or else the information is useless. How often does someone want to come to a forum where everyone says nothing but "It can't be done" and that's it.

    The best answer was having a clicked link create an instance of the WebView control and navigating to the clicked link as proposed by Sheng Jiang.

    If you can't offer a solution, don't answer at all. There seriously needs to have some restrictions taken off of the Windows Store Apps though. Again, please pass it on. We would love to be able to create applications that can do AMAZING things as Windows Store Apps, but we are treated like Apple treats its developers: Like children. Imagine a seamless transition between apps and the desktop. An operating system where the Store Apps have JUST as much power as regular legacy applications. We've got some cool ideas, allow us to create them.

    Monday, December 02, 2013 11:08 PM
  • Hi Levi,

    The good news is that this behavior has changed with the new view model in Windows 8.1. Windows 8.1 allows requesting that the launched app run alongside the currently running app by calling LaunchUriAsync and setting LauncherOptions .DesiredRemainingView

    --Rob

    Monday, December 02, 2013 11:46 PM
    Owner