0

まず、私はWPFが初めてだと言いたいので、無知を許してください...

Rhino 4.0 用の .Net プラグインを作成しています。プラグインを使用して、WPF を使用して UI を開発しています。

Rhino 4.0 CAD エンジンは MFC/Win32 アプリケーションです。プラグインはアプリケーションの実行後に実行され、WPF ウィンドウを作成してから MFC ウィンドウを「吸い込み」ます。

私の質問は、ホスティング アプリケーションが WPF アプリでない場合、WPF はアプリケーション レベルのリソースにアクセスするために App.xaml ファイルを探しますか?

そうでない場合、アプリケーション レベルのリソースを格納する最善の方法は何ですか?

ありがとう、

ジェイソン

4

4 に答える 4

3

App.xamlは、部分クラスApp:Applicationの一部として使用されます。アプリケーションにWPFベースのApplicationクラスがない場合は、辞書を手動でロードしてアプリケーションとマージし、メインウィンドウを作成して表示できます(Applicationクラスの静的メソッドを介したアクセス)。

コードはこのようなものになります。

var reader = new XamlReader();
var dictionary = reader.read("path to xaml file") as ResourceDictionary;
if (dictionary != null)
    Application.MergedDictionaries.Merge(dictionary);

var mainWindow = new MyMainWindow();
mainWindow.Show();
于 2009-10-17T16:25:44.487 に答える
1

WPF プロジェクトは、デフォルトで、アプリケーションのエントリ ポイントを生成します。このエントリ ポイントは、Application派生クラスを構築して初期化します。必要に応じて、いつでもインスタンスを手動で作成し、アプリケーション レベルのリソースをそこに保存できます。

App app = new App();
app.InitializeComponent();
app.Run();
于 2009-03-31T14:13:28.337 に答える
1

MSDN が「テーマ レベル」と呼んでいるものでリソースを保存しようとしましたか?

「」というフォルダ内に、「<root>\Themes」というファイルがありますgeneric.xaml

WPF アプリケーションではないプロジェクトでこれを試したことはありませんが、このアプローチはうまくいくかもしれません。

于 2009-04-30T13:07:14.083 に答える
0

私の推測では、rhino がプラグインをどのように実行するかに関係しているのでしょうか?

定義した関数を呼び出す場合は、ウィンドウを起動するコードをそこに置くことができますか?

于 2009-03-31T14:13:12.863 に答える