160 likes | 303 Views
Интеграция Silverlight с HTML и JavaScript. Сергей Пугачёв http://spugachev.livejournal.com/ Студент-партнёр Microsoft Microsoft MVP. План доклада. Интеграция с HTML и JavaScript Бесшовная интеграция с Flash Вызов управляемого кода из JavaScript
E N D
Интеграция Silverlight с HTML и JavaScript Сергей Пугачёв http://spugachev.livejournal.com/ Студент-партнёр Microsoft MicrosoftMVP
План доклада • Интеграция с HTML и JavaScript • Бесшовная интеграция с Flash • Вызов управляемого кода из JavaScript • Вызов JavaScript кодаиз Silverlight • Доступ к HTML странице • Подписка на события HTML страницы • Настройки и параметры Silverlight хоста • Подсчёт FPS (кол-во кадров в секунду) • Просмотр областей перерисовки • Режимы масштабирования • Параметры инициализации
Вызов JavaScript функций из Silverlight • C# код: • HtmlPage.Window.Invoke("DisplayMessage", "Привет из Silverlight!"); • JavaScript код: • function DisplayMessage(message) { • alert(message); • }
Вызов управляемого кода из JavaScript • C# код: • [ScriptableType] • public partial class Page : UserControl{ • public Page() • { • InitializeComponent(); HtmlPage.RegisterScriptableObject("slApplication",this); • } • [ScriptableMember] • public void Updater(double x, double y) • {} • } • JavaScript код: • function updater(x, y) { • silverLightControl = document.getElementById("Xaml1"); • silverLightControl.content.slApplication.Updater(x + 500,y); • }
Доступ к HTML странице • C# код: • HtmlDocument doc = HtmlPage.Document; • HtmlElement body = doc.GetElementById("body"); • body.SetStyleAttribute("background", "green");
Подписка на события HTML страницы • C# код: • HtmlDocument doc = HtmlPage.Document; • HtmlElement header = doc.GetElementById("header"); • header.AttachEvent("onclick", new EventHandler((o, x) =>{ • header.SetStyleAttribute("background", "yellow"); • }));
Вставка Silverlight в ASP.NET страницу • <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/SilverlightClock.xap" MinimumVersion="2.0.31005.0"> • </asp:Silverlight>
Вставка Silverlight в HTMLстраницу • <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> • <param name="source" value="ClientBin/SilverlightClock.xap"/> • <param name="onerror" value="onSilverlightError" /> • <param name="background" value="white" /> • <param name="minRuntimeVersion" value="2.0.31005.0" /> • <param name="autoUpgrade" value="true" /> • … • </object>
Параметры инициализации • <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/SilverlightClock.xap" MinimumVersion="2.0.31005.0" • InitParameters="param1=value,param2=value"> • </asp:Silverlight> • private void Application_Startup(object sender, StartupEventArgs e) • { • string param1 = e.InitParams["param1"]; • this.RootVisual = new Page(); • }
План доклада • Интеграция с HTML и JavaScript • Бесшовная интеграция с Flash • Вызов управляемого кода из JavaScript • Вызов JavaScript кодаиз Silverlight • Доступ к HTML странице • Подписка на события HTML страницы • Настройки и параметры Silverlight хоста • Подсчёт FPS (кол-во кадров в секунду) • Просмотр областей перерисовки • Режимы масштабирования • Параметры инициализации
Полезные ресурсы • http://www.silverlighter.ru • http://www.techdays.ru • http://silverlighter.ru/developer/ • http://silverlighter.ru/blogs/ • http://silverlighter.ru/media/ • http://spugachev.livejournal.com/ • http://mixen.livejournal.com/