Cách truyền tham số cho một chương trình Silverlight


Để 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(); 
    } 
}

Leave a comment