2011-02-01 3 views
0

У меня есть проект silverlight, который содержит 2 элемента управления silverlight Control_1 и Control_2. Обратите внимание, что в том же приложении. Теперь у меня есть проект asp.net, который будет использовать любой из этих элементов управления silverlight (Control_1 или Control_2).загрузить элементы управления silverlight на странице asp.net

Задача - как я могу сказать, что Silverlight управляет загрузкой. Я использовал свойство param в html-объекте, чтобы передать параметры и сообщить приложению, которое управляет загрузкой во время выполнения?

Но что делать, если в одном проекте имеется более двух элементов управления? Мы не можем иметь длинный оператор switch в файле приложения только для загрузки элементов управления. Есть ли лучший способ?

ответ

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, и, наконец, получить доступ к тем путем доступа к e.InitParams в Application_Startup

Для получения дополнительной информации: Application.RootVisual

+0

Есть ли способ избежать этого случая переключения, это единственный способ реализовать? –

+0

Я не могу придумать, как избежать этого случая переключения (и немного потерял то, чего вы хотите достичь). Поскольку этот класс 'App', который наследуется от' Application', является единственной точкой входа, да, я думаю, что это единственный способ. –

Смежные вопросы