2010-12-19 9 views
2

WPFアプリケーションをセットアップしたいです。しかし、アプリケーションのエントリポイントをApp.xaml自体に使用する代わりに、私はプロジェクトを作成しなければなりません。異なるアセンブリのWPF App.xaml

最初のプロジェクトはWindowsアプリケーションであり、ノーマルMain機能を持っています。そして、私はApp.xaml、ウィンドウ、コントロール、そして必要なものすべてを持っている追加のプロジェクト(WPFコントロールライブラリ)を持っています。アプリは私のアプリで

public static class Application 
{ 
     public void Run() 
     { 
      App app = new App(); 
      app.Run(); 
     } 
} 

:アプリケーションは、ライブラリ内のクラスである

[STAThread] 
static void Main() 
{ 
    Application.Run(); 
} 

主な方法は、このようなアプリケーションを起動します。 xaml。 App.xamlは起動時のuri MainWindow.xamlを定義します。しかし、アプリケーションを実行すると、ウィンドウは表示されませんが、アプリケーション自体が実行されます。

複数のウィンドウフレームワーク(WPF、Gtk#など)をサポートしているため、最初のアセンブリでApp.xamlをセットアップできません。どのようにこのシナリオを管理するための任意の提案?

答えて

2

だけApp app = new App();app.Run();

app.InitializeComponent(); 

を追加します。

+0

アプリケーションのメインウィンドウを手動で設定するので(App.Run(new MainWindow())のように)、それはうまくいきます。しかし、App.xaml自体はまだ使用されていません。 App.xamlにリソースを追加してウィンドウ内で使用すると、これを試すことができます。 –

+1

はい、私は投稿を編集しました: 'app.MainWindow = ...'は簡単な回避策でした。 –

+0

'InitializeComponent'はxamlからすべてを読み込みました –

関連する問題