הקדמה
אפליקציות Silverlight מתארחות בתוך דף HTML. הן יכולות לתפוס את כל העמוד או רק חלק ממנו.
לפעמים נצטרך למצוא דרך לתקשר מתוך אפליקציית ה Silverlight אל האובייקטים בדף ה HTML. במקרים אחרים נצטרך את הכיוון ההפוך, לגשת מתוך דף ה HTML שבו אנו מתארחים אל אפליקציית ה Silverlight.
בפרק זה נראה כיצד נוכל לגשת מתוך אפליקציית ה Silverlight אל האובייקטים בדף ה HTML, בפרק הבא נראה את הכיוון ההפוך.
גישה מ Silverlight לדף HTML
לאפליקציית Silverlight יש גישה מלאה לדף ה HTML המכיל אותה כולל כל האובייקטים שהדף מכיל.
הגישה למידע על דף ה HTML מתבצעת באמצעות המחלקה הסטטית System.Windows.Browser.HtmlPage.
התכונה BrowserInformation של HtmlPage מכילה את כל המידע הרלוונטי לגבי הדפדפן שמריץ אותנו כרגע, כולל: סוג הדפדפן, פלטפורמה, גרסה ועוד.
לדוגמא, קטע הקוד הבא מדפיס מידע לגבי הדפדפן בלחיצה על הכפתור:
string message =
string.Format(
"Browser name: {0}\nPlatform: {1}\nProduct: {2} {3}",
HtmlPage.BrowserInformation.Name,
HtmlPage.BrowserInformation.Platform,
HtmlPage.BrowserInformation.ProductName,
HtmlPage.BrowserInformation.ProductVersion);
MessageBox.Show(message);
התוצאה:

התכונה Plugin של HtmlPage מספקת מידע לגבי הPlugin של Silverlight שנמצא כרגע בשימוש בדף.
התכונה Window של HtmlPage דומה לתכונה document.Window ב JavaScript.
התכונה אולי הכי חשובה של HtmlPage היא Document שמאפשרת גישה למסמך ה Html עצמו.
בדוגמת הקוד הבאה אנו ניגשים מתוך Silverlight לאלמנט מסוג כפתור שמוגדר בדף וקובעים לו את תוכן שונה:
HtmlDocument htmlDoc = HtmlPage.Document;
htmlDoc.GetElementById("jsButton").SetProperty("value", "Changed from Silverlight!");
כדי להריץ דוגמא זו יש להוסיף לדף HTML שמכיל את אובייקט ה Silverlight שלנו כפתור בשם jsButton באופן הבא:
<input type="button" value="HTML Button" id="jsButton" />

