2012-01-26 52 views
4

私は、通常の静的Main()(アプリケーションへのエントリポイント)を持つ単純なWPFアプリケーションを持っています。 Mainは、UIが表示される前にいくつかの初期化作業を行います。その後、起動ウィンドウが作成され、実行されます。しかし、私がする必要があるのは、メインウィンドウからスタートアップウィンドウにカスタムオブジェクトを渡すことですが、どうやってそれを行うのかは分かりません。WPFでStartupUriに引数を渡す

メインを含む私のメインクラスは、()次のようになります。

明らか
class App : Application 
{ 
    [STAThread()] 
    static void Main() 
    { 
     MyObject obj; 
     // Some processing stuff here. 

     new App(obj); 
    } 

    public App(MyObject obj) 
    { 
     StartupUri = new System.Uri("MainWindow.xaml", UriKind.Relative); 
     Run(); 
    } 
} 

MyObjectは私が私のスタートアップウィンドウでへのアクセス権を持っていると思います私のカスタムオブジェクトです。これどうやってするの?

TIA

答えて

3

(あなたが好む場合またはプロパティ)手動でウィンドウを作成し、その後、あなたのMainWindowコンストラクタにタイプMyObjectのパラメータを追加します。このウィンドウをメインウィンドウとして表示するには、起動URIを使用するのではなく、Runのオーバーロードを使用して、Windowパラメータを使用します。

Run(new MainWindow(obj));