window.external.notify andere doorgegeven gegevens dan string

Ik probeer een Windows Phone-app te schrijven en ik wil een afgevaardigde oproepen als een gebruiker een actie wil uitvoeren. Maar het probleem is dat de actie op de webpagina moet worden uitgevoerd en dat de gebeurtenis binnen de app moet worden afgehandeld. Ik weet dat dit geen perfect ontwerp is, maar ik probeer alleen manieren te vinden om de gegevens die worden doorgegeven van een webbrowserbesturingselement terug naar de toepassing te wijzigen.

Dit is mijn vraag,

        +---------------------------------------------+
        | Inside App (C# Code Behind)                 |
        |         App Data.                           |
        |                                             |
        |   Delegate that handles the event.          |
        |      ^       +----------------------+       |
        |      |       |Webbrowser Control    |       |
        |      +       |                      |       |
        |      |       |                      |       |
        |      +------------+Action Performed |       |
        |              |   (HTML Control)             |
        |              |                      |       |
        |              |                      |       |
        |              +----------------------+       |
        |                                             |
        |                                             |
        +---------------------------------------------+

Ik gebruik momenteel window.external.notify (somestrings) en gebruik reflectie om de methode in de code erachter aan te roepen. Anders dan rond een reeks door te geven, kan ik een generiek Object doorgeven, dat wordt doorgegeven aan de C# -code die later kan worden gegoten in een gedelegeerd object dat vervolgens kan worden opgeroepen?

Als niet voor afgevaardigden kan ik de methode gebruiken die deel uitmaakt van de app in de code achter (C #) door alleen de naam van de functie door te geven?

3
+1 voor ascii art
toegevoegd de auteur 70sCommander, de bron

1 antwoord

Het is alleen mogelijk om een ​​string door te geven via de Notify() methode.

Je zou kunnen proberen de methode-naam die je via reflectie doorloopt, in te roepen. Als u echter de methoden kent die u tijdens het ontwerpen kunt gebruiken, kunt u een waarde doorgeven die u in code vertaalt naar de methode die u zoekt.

1
toegevoegd
ja, je zou een JSON- of XML-waarde kunnen doorgeven() en deserialiseren in de code erachter.
toegevoegd de auteur wmute, de bron