2011-02-01 5 views
0

私は銀色のコントロールControl_1とControl_2を含むSilverlightプロジェクトを持っています。これらのSilverlightコントロール(Control_1またはControl_2のいずれか)を使用するasp.netプロジェクトが同じapp.Nowであることに注意してください。asp.netのページでロード銀色のコントロール

どのようにSilverlightにロードするかを教えてください。私はパラメータを渡し、実行時に読み込むコントロールをアプリに伝えるためにhtmlオブジェクトのparamプロパティを使用しましたか?

しかし、同じプロジェクトに2つ以上のコントロールがある場合はどうなりますか?コントロールをロードするためだけに、長いswitch case文をappファイルに入れることはできません。もっと良い方法はありますか?

答えて

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

このスイッチケースを避ける方法はありますか?これは実装する唯一の方法ですか? –

+0

私はこのスイッチケースを避ける方法を考えることができません(そして、何を達成したいかについて少し失われています)。 'Application'を継承するこのクラス' App'は唯一のエントリーポイントなので、これが唯一の方法だと私は考えます。 –

関連する問題