11

私のwpfプロジェクトでは、practiceというフォルダーを作成しました。そのフォルダーにウィンドウを追加しました。そのウィンドウを実行したいので、app.xamlファイルでスタートアップURIをfoldername.window.xamlに設定しましたが、ビルドと言っていますaction プロパティが resource に設定されていません。

そのために、ビルド アクション プロパティをリソースに設定しました。今回は、エラー メッセージ initialized componenet does not exist in the current context が表示されています。

wpf プロジェクトに個別のフォルダーを作成し、そのフォルダーにウィンドウまたはページが含まれている場合に設定する必要があるプロパティを教えてください。他のページまたは App.Xaml ファイルの startupUri プロパティでこれらのページにアクセスする方法。

4

2 に答える 2

20

プロジェクト構造にフォルダーがある場合は、「.」ではなく「/」を使用する必要があるため、foldername/window.xaml.

(ちなみに、実際には呼び出されないことを願っていwindow.xamlます。WPF プロジェクトの型には紛らわしい名前です。という名前の組み込み型があるためWindowです。)

ビルド アクションを Resource に設定すると、事態はさらに悪化します。間違った名前を使用しただけでなく、XAML のビルド アクションを間違ったものに変更したことになります。.xaml通常、ファイルの正しいビルド アクションはPage. (App.xamlはその規則の例外です。)Pageビルド アクションにより、ページがバイナリ表現 (BAML として知られる) にコンパイルされInitializeComponent、分離コード内の への呼び出しまたは を介し​​て、そのバイナリ形式を読み込むことができApplication.LoadComponentます。

ビルド アクションを Resource に設定すると、XAML ソースのコピーがプロジェクトに直接埋め込まれますが、これは役に立ちません。コード ビハインド ファイルが必要な場合、その形式で XAML を操作することはできません。(とにかく、WPF ではありません。WinRT などの他の XAML ベースのフレームワークでは異なります。)

Page は新しく追加されたウィンドウのデフォルトのビルド アクションであるため、実際にはプロパティを設定する必要はまったくありません。/フォルダーの境界に使用するだけです。

于 2013-08-12T12:15:24.007 に答える
8

XAML がフォルダー内にある場合、スタートアップ URL は以下のように定義されます。

ここに画像の説明を入力

このように定義されます。 ここに画像の説明を入力

于 2018-09-22T17:18:26.390 に答える