3
如果我在他們每個人中都有兩個aspx頁面我想放置不同的silverlight內容(2 differents usercontol)我該怎麼辦?我是否有義務添加2個silverlight項目與我的asp.net網站,並在每個頁面插入一個* .xap內容..?把Silverlight用戶控件放入一個asp.net網站
謝謝。
如果我在他們每個人中都有兩個aspx頁面我想放置不同的silverlight內容(2 differents usercontol)我該怎麼辦?我是否有義務添加2個silverlight項目與我的asp.net網站,並在每個頁面插入一個* .xap內容..?把Silverlight用戶控件放入一個asp.net網站
謝謝。
不,您可以根據需要將兩個用戶控件放在單個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可能沒有發生這樣的成本。