2011-02-01 154 views
0

我有一個silverlight項目,其中包含2個Silverlight控件Control_1和Control_2。請注意,它在同一個app.Now我有asp.net項目將使用任何這些silverlight控件(Control_1或Control_2)。在asp.net頁面中加載silverlight控件

挑戰是如何告訴silverlight哪個控件要加載。我在html對象中使用param屬性來傳遞參數並告訴應用程序在運行時加載哪個控件?

但是如果在同一個項目中有兩個以上的控件呢?我們在應用程序文件中只能加載控件的情況下不能有長的開關箱語句。有沒有更好的方法?

回答

1

不,沒有,這不是關於Silverlight本身,這是正常的邏輯。

在你App.xaml文件,把這個:

using System.Windows; // Application, StartupEventArgs 

namespace SilverlightApplication 
{ 
    public partial class App : Application 
    { 
     public App() 
     { 
      InitializeComponent(); 
     } 

     private void Application_Startup(object sender, StartupEventArgs e) 
     { 
      // Specify the main application UI 
      if(SomeCondition == true) 
       this.RootVisual = new Control1(); 
      else 
       this.RootVisual = new Control2(); 

      // In the same way, you may define a switch statment 
     } 
    } 
} 

你可以決定的條件就是通過傳遞參數給XAP文件,最後你Application_Startup

訪問那些通過訪問e.InitParams欲瞭解更多信息:Application.RootVisual

+0

有什麼辦法可以避免這種開關的情況下,這是唯一的方法來實現?? – 2011-02-01 11:39:39