передача параметров в запущенное приложение silverlight - PullRequest
0 голосов
/ 26 июля 2010

Сценарий: у меня есть список элементов в HTML; когда я нажимаю на элемент, я использую JS для динамического создания HTML-кода, чтобы загрузить приложение silverlight, передавая определенный элемент # (используя initParams); и мое приложение Silverlight хорошо это визуализирует. Я делаю это на той же странице, а не загружаю новую веб-страницу, и переход происходит плавно.

Я знаю, что Silverlight может вызвать функцию JS на моей странице (в противоположность тому, что мне нужно). Я думаю, что моя JS-функция также может вызывать событие / вызывать метод в silverlight, но точно не знаю, как - кто-нибудь пробовал это? Хотя обходным решением было бы воссоздавать приложение silverlight каждый раз, просто вызов события в существующем загруженном SL-приложении было бы идеальным решением моей проблемы.

С уважением Ewart.

1 Ответ

1 голос
/ 26 июля 2010

Вы можете вызвать метод в вашем приложении Silverlight из JavaScript.Смотрите это сообщение в блоге

Вам просто нужно создать класс в приложении Silverlight, который регистрируется как вызываемый из JS:

[ScriptableType]
public partial class SomeClass
{
    private bool mouseHeldDown = false;
    private Point moveMeOffset = new Point();

    public SomeClass()
    {
        HtmlPage.RegisterScriptableObject("SilverlightObject", this);
    }


    [ScriptableMember]
    public void DoThing(int x)
    {
      //do some stuff
    }
}

Затем вы можете вызвать это изJS

document.getElementById("mySilverlightControl").content.SilverlightObject.DoThing(5);
...