Để có thể truyền một tham số khởi tạo từ trang web vào cho chương trình Silverlight, các bạn có thể làm theo các bước sau:
Bước 1: Khai báo một tham số initParams cho Silverlight plug-in và truyền vào cho nó một tập các cặp tên-giá trị phân cách bởi dấu phẩy (,). Ví dụ: “key1=value1,key2=value2,key3=value3”
<object type="application/x-silverlight" width="100%" height="100%"> <param name="source" value="ClientBin/SLInitParams.xap"/> <!-- startPage key can have values Page1 or Page2 --> <param name="initParams" value="startPage=Page1" /> </object>
Các giá trị được truyền vào cho initParams nên là chữ hoặc số, hiện tại bạn cũng không thể truyền vào các giá trị là dấu bằng (=) hoặc dấu phẩy (,).
Bước 2: Trong hàm sự kiện Startup của Application, bạn có thể lấy ra tham số đã truyền vào thông qua thuộc tính StartupEventArgs.InitParams, thuộc tính này có kiểu IDictionary<string, string>.
// Contents of App.xaml.cs private void Application_Startup(object sender, StartupEventArgs e) { string startPage = e.InitParams["startPage"]; if (startPage != null && startPage.Equals("Page1")) { // Load Page1 this.RootVisual = new Page(); } else { // Load Page2 this.RootVisual = new AlternatePage(); } }