2010-04-14 62 views
3

如果我在他們每個人中都有兩個aspx頁面我想放置不同的silverlight內容(2 differents usercontol)我該怎麼辦?我是否有義務添加2個silverlight項目與我的asp.net網站,並在每個頁面插入一個* .xap內容..?把Silverlight用戶控件放入一個asp.net網站

謝謝。

回答

2

不,您可以根據需要將兩個用戶控件放在單個XAP中。

您將使用initParams來選擇應用程序加載時要顯示的內容。

下面是一個例子方法,我已經在過去使用: -

private void Application_Startup(object sender, StartupEventArgs e) 
{ 
    string pageName = "UserControl1"; 

    if (e.InitParams.ContainsKey("startPage")) 
    { 
    pageName = e.InitParams["startPage"]; 
    } 

    Type pageType = Assembly.GetExecutingAssembly().GetType("SilverlightApplication1." + pageName); 
    RootVisual = (UIElement)Activator.CreateInstance(pageType); 

} 

你的對象標記PARAM名單看起來像: -

<param name="source" value="ClientBin/SilverlightApplication1.xap"/> 
<param name="onError" value="onSilverlightError" /> 
<param name="background" value="white" /> 
<param name="minRuntimeVersion" value="3.0.40624.0" /> 
<param name="autoUpgrade" value="true" /> 
<param name="initParams" value="startPage=UserControl2" /> 

當你有一個新的Silverlight用戶控件添加你只需將其添加到現有的SL項目,然後你可以通過複製任何現有的對象標記標記和調整startPage來使用它。

當心加載一個XAP太多其他小的變化,你可以增加你的用戶的下載成本,其中每個單獨的XAP可能沒有發生這樣的成本。

相關問題